I believe the reason for that is the way gnome-panel creates the desktop-files for launchers and the handling of those. When you create a custom launcher, the resulting desktop-file will get named according to the name of the specified executable. If it's both "firefox", gnome-panel may or may not get confused.
I had exact the same issue when I installed FF4 alongside FF3 a while ago. After I created a system-wide launcher for it in "/usr/share/applications", and created the panel launcher from the launcher now included by the "Applications" menu, the issue was fixed.
However, when I now try to reproduce that behaviour at my system, it doesn't work, meaning it works like you would normally expect.
So, you could either do it the way I described, or rename their desktop-files in "~/.gnome2/panel2.d/default/launchers" and assign the new file names to the existing launchers via gconf-editor, modify the key "launcher_location" therefore: