Будем считать, что браузеры версий 4.x и 5.x являются идентичными.
Немного о самом Internet Explorer: Internet Explorer по сути своей является контейнером* (container application) для ActiveX приложения, которое в свою очередь есть как OLE сервер, так и контейнер. Это означает, что, когда Вы запускаете приложение под именем Internet Explorer, оно в свою очередь поднимает IE и активизирует его по месту (in-place activation).** В дальнейшем под словом IE я буду подразумевать именно поднимаемый обьект, а программу назовем launcher.
Технология OLE подразумевает отсутствие необходимости клиентом знать о версии интерфейса, поэтому, даже если Вы и запустите "старый" IE, то в лоб получите самым новым броузером (все версии IE имеют один GUID). То есть решением проблемы есть нахождение пути обхода смысла существования OLE. И как вывод - человеку не знакомому с архитектурой Windows в общем и OLE частности досконально не рекомендуется читать дальше.
Единственный путь таков: с помощью простых программ отслеживания изменений в системном реестре Вам необходимо установить, какие компоненты регистрируются в процессе инсталляции Internet Explorer 3.x. Все компоненты собираются в одной папке. Далее для каждой из компонент броузера вручную в коде меняются все внутренние GUID на заново сгенеренные, а также все перекрестные ссылки***.
Далее на машине, где стоит браузер версий от 4, все это регистрируется и можно запускать. Все. Можно специально для этого модернизировать launcher, и будет он переключаться между броузерами.
Вот так. Иного пути к сожалению нет.Один раз проделав эту операцию и после переустановки NT потеряв все данные я не горю желанием заниматься этим снова. :)