os.startfileというかShellExecuteWの奇妙な動作

Pythonでos.startfileを呼ぶと、ちゃんと引数が関連付けどおりに実行されるのだが、以下のように例外が発生する場合がある。

>>> os.startfile('http://www.yahoo.co.jp/')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
WindowsError: [Error 2] 指定されたファイルが見つかりません。: 'http://www.yahoo.co.jp/'

色々試した結果、デフォルトのブラウザがFirefoxではなくIEだと発生しないことがわかった。
google: os.startfile WindowsError Firefox
で検索すると、同じ症状の人を発見。
http://coding.derkeiler.com/Archive/Python/comp.lang.python/2004-07/0590.html
対処法がここに書いてあるらしい。
http://www.brunningonline.net/simon/blog/archives/001465.html
DDEメッセージの引数を消せとか言っている。じゃあ、どうやってFirefoxに引数を渡すんだろうと思い調査。
google: firefox dde
結果、
http://forum.mozilla.gr.jp/?mode=al2&namber=38230&rev=&&KLOG=242
うーん。どうもGoogleツールバーのバグで確定っぽいな。ずいぶんと遠回りをしてしまった。完璧な解決策は今のところないが、引数を消してDDEを迂回させるよりも、はじめからDDEを無効にした方がいいと思う。