Firefox Portable 40.0.2, ESR 38.2.0, Beta 41, Dev 42, and Nightly 43 fail to properly alert that another copy of Firefox is already running after they have been run once. This is due to the launcher using the parent.lock file within the profile as an indicator of whether that profile is currently in use. This file used to serve that purpose but no longer does. The launcher needs updating to use a system-wide mutex the way 7-Zip and other custom launchers do, as well as PAL.
UPDATE: I've confirmed the same change in the parent.lock file to be the case with Thunderbird and SeaMonkey as well. I'll be updating them on next release.