実行プログラムを選択するフォーム上で以下のようにプログラムを指定し:

FullExePath = App.Path & "\program1.exe"
中略:選択条件
FullExePath = App.Path & "\program2.exe"
中略:選択条件
FullExePath = App.Path & "\program3.exe"

プログラムを実行するフォーム上で以下のように実行すると、ときどき失敗することがあります:

RetVal = Shell(FullExePath)
If RetVal = 0 Then
MsgBox FullExePath & "の実行に失敗しました。"
End If

失敗した場合に備えて上記のようなメッセージボックスを指定しておくと、実行に失敗したときには正しいフルパスが表示されます。

なぜ、プログラムの実行に失敗することがあるのでしょうか?
失敗するのは最初に選択して実行したときではなくて、2回目以降選択したときのようです。

Visual Basic Version 6を使用しています。
Windows XP、Windows 98いずれでも同じ状況です。