Microsoft разработала Microsoft Layer for Unicode (MSLU для краткости) специально для этой цели: запуск приложений, ориентированных на UNICODE-версию Win32 API, в таких системах, как Win95, без необходимости их изменения. Это достигается путем перехвата и переадресации вызовов.
К сожалению, MSLU по умолчанию поставляется как библиотека VC ++. Пару лет назад Роб Кеннеди сделал порт Delphi, доступный здесь , предназначенный для Delphi 2005. Я думаю, что переписать вещи для D2009 было бы немного трудным, но выполнимым.
Еще одна ловушка заключается в том, что MSLU является несколько устаревшей технологией и может не охватывать все виды использования API Delphi. Полагаю, единственный способ выяснить это - попытаться понять, работает ли он.