Да, такие тщетные попытки были, но все они являются классическими трагедиями Open Source, истории о том, как "идеи разбиваются о суровую реальность архитектуры, в данном случае Windows 9x.
Замысел абсолютно логичен, что хорошо бы, что бы кто-то,
но не я,
взял бы и создал бы "Windows 98 Extended Kernel" по образу и подобию One Core API для Windows XP или "расширенного ядра" для Windows 2000,
чтобы я
как и другие оставшиеся пользователи 98-ой, если захотят,
смогли бы запускать куда более современный софт чем позволяет стандартный KernelEx. И такие проекты действительно были (чудо? нет!)
На форумах MSFN.org тема "прямой замены DLL" всплывала не раз, как и эксперименты с заменами системных файлов вроде KRNL386.EXE, USER.EXE и KERNEL32.DLL, однако почти все эти проекты остались на уровне нерабочих экспериментальных сборок (или работали только у автора), потому что эта идея - последний круг ада для разработчика, по навязанным техническим причинам архитектурой самой win9x!
1) Архитектурная пропасть между Ring 0 и Ring 3.
KernelEx загружался как VXD-драйвер, работая на нулевом кольце защиты. Это давало доступ к низкоуровневым операциям. Переход в старших системах на их замену DLL переносило всё это в пользовательский режим Ring 3, превращая разработчика из инженера с прямым доступом ко всему в кодера программной прокладки между системой и хотелками пользователя.
2) Эффект домино
Лавинообразные проблемы совместимости Windows 9x. Как бы не была плоха или хороша Win9x - архитектурно это монолитная система взаимосвязанных библиотек, замена любой библиотеки тянет за собой цепочку сбоев во всём. Без тестирования, которое растянется на долгие годы, это не возможно решить. Любой новый файл - и всё летит опять к чертям вместе с разработчиком.
3) Проблема матрешки.
С ядром NT можно сделать всё что угодно, оно модульное и худо-бедно - предсказуемое.
В любой win9x код это клубок из ядовитых змей запутанных наглухо, состоящих из 16-битного и 32-битного кода.
Добавление любой функции, хотя бы EncodePointer, создаёт бесконечный квет с сотней непредсказуемых побочных эффектов.
Повторюсь, любое минимальное отклонение от железа\настроек\добавление любого нового системного файла или драйвера - и всё летит в тартарары, попутно ломая что-то из железа (если уж конкретно совсем не повезло

Но тем не менее, в эротических мечтах альтернативной вселенной, где существует Windows 98 Phoenix все эти проблемы были бы наглухо решены. Можно было бы сёрфить Mypal 78, Quantum тоже запускался на фениксе без проблем, конвертировалось бы видео через FFmpeg 3.0, GTA шла бы со всеми модами и CLEO-скриптами, ASI-плагинами и SilentPatch, которые так настойчиво требуют функции вроде EncodePointer и DecodePointer из Windows XP SP2. В KernelEx эти функции были реализованы хитрым механизмом «XorPointer» в 2010 году, а на фениксе будут работать из коробки.
Почему же всё это не произошло?
1. Это не интересно никому серьёзному: это не нужно бизнесу, это не нужно развлекательной индустрии. Пользователи могут развлекать себя за свой счёт как угодно.
2. Идея прямой замены DLL для Windows 9x была блестящей, но чудовищно сложной. Она требует от разработчика не только титанический труд по обратному проектированию, но и понимание архитектуры Windows 9x глубже и больше чем знали разработчики этих систем. В итоге, всё всегда упирается в банальную нехватку ресурсов и человекочасов, хотя бы одного образованного гения, который посвятит этому всю свою жизнь.
3. Не существует группы отмороженных разработчиков, которые готовы всю жизнь 24\7 бесплатно посвятить этому проекту, которых бы кто-то содержал, кормил, одевал, лечил, развлекал, оплачивал их счета и тд.
«Не стесняйтесь думать. Неэффективно пытаться помочь людям, которые не желают помогать себе сами. Нормально чего-то не знать, прикидываться идиотом — нет.» (Слава С.ПО.)