結局解決していない問題ですが、備忘録として。

HTC Desire(OS2.2)でアプリアップデートの際に起動アクティビティを変更するとランチャーから起動できなくなる現象に遭遇しました。

状況としては、

以下のようなマニフェストXMLのアプリを一旦端末にインストールする。
<activity android:name=".ActivityA"> 
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".ActivityB">
</activity>

次に、起動時のアクティビティを変更すべくマニフェストXMLを下記のように変更しインストール。
<activity android:name=".ActivityA"> 
</activity>
<activity android:name=".ActivityB">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

すると、ホーム画面やアプリ一覧画面上のランチャー(アプリのアイコン)から起動できなくなる。
(「リンクしたプログラムは電話にインストールされていません」というメッセージが表示される)

開発中のアプリであれば、一度アンインストールすれば良いのですが、公開中のアプリでDBをつかっているなど、アンインストールされるとまずい場合に厄介です。

もちろん、ホーム画面のリンクが切れるのは納得いくのですが(これは単に静的なエイリアスだと思うので)、アプリ一覧の中のランチャーが更新されていないのが解せません。android.intent.action.MAINできちんと呼ばれていないのか??

※ 下記の端末では、問題なくランチャーも更新されていました。
Motorola Milestone XT720(OS2.1update1)
Sonny Ericsson Xperia X10(OS2.1update1)
Google NexusOne(OS2.2)
※ マーケットからやるとどうなるかは試していません。
※ versionCodeを増やしてもだめでした。