Code:
if [ -L $mozlock ]; then
$mozhome -remote "openURL($2,new-tab)"
else
$mozhome "$2"
fi
where $mozhome is where moz lives and $mozlock is the lock file buried in my profile in ~/.mozilla. That's just part of a case statement but covers most things (and change $2 to $1 if it's not in a case statement). Call that instead of mozilla. Or search this site - dozens of people have come up with several different workarounds. Or you can just hack a piece out of the startup scripts (the mozilla binary is always wrapped in something) because I once chopped something out of one of them out of curiosity and made it stop, but felt more comfortable doing it this way.
The lockfile and profile warning is a lame-ass workaround for multiple instances sometimes trashing profiles - which they ought to fix instead of annoying every Linux user in the world, but oh well.
Gentoo uses a wrapper for mozilla that is also a workaround for the workaround - I forget what it's called (mozilla-wrapper?), but you can download it from freshmeat.