Override iexplore.exe
This workaround has received only basic testing so the only guarantee is that it will take up space; as always be sure to thoroughly test new functionality before deploying it in a production environment.
It is possible to configure Windows NT/200x/XP to start firefox.exe instead of iexplore.exe by using built in debugging functionality, even when executed from the command line, start->run dialog or when hard coded into an application. This may be useful for sites which would rather Firefox always be used instead of Internet Explorer, including corporations, internet cafes, schools and even home users.
You can set this up by creating an iexplore.exe key and Debugger REG_SZ (String) value under HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options which contains the path to firefox.exe. This can be automated by copying the following to a .reg file and double clicking it, or by using Group Policy Objects (GPOs).
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\iexplore.exe] "Debugger"="C:\\Program Files\\Mozilla Firefox\\firefox.exe /dummy"
As the functionality is designed with debuggers in mind, 'iexplore.exe' will be passed on the command line. By appending the invalid '/dummy' switch, you can cause this to be ignored; Firefox will then open the default home page or any URL passed on the iexplore.exe command line. Firefox may not understand (and will probably ignore) Internet Explorer command line arguments.
This tip was inspired by the excellent SysInternals Process Explorer utility, which uses the same functionality to implement a 'Replace Task Manager' option. See bug 306317 for this as a feature request.
(Some ISPs are notorious for 'hardcoding' IE. Like Netzero and Juno. Mentioned here for keyword purposes.)