Subject Help - "GDS32.dll not found" by one app but another works fine!

I have a troublesome "Interbase library GDDS32.dll not found in the path" error in one BUT NOT ANOTHER firebird application running on my web server. After hours and hours of searching the internet, I can't find an answer. It's none of the obvious causes.

I have Web application using Firebird and Delphi on Windows. There are two parts, a web service for a Win32 app running on client desktops and a web application for browsers.

Both applications access the same database and in fact USE THE SAME DATA MODULE that encapsulates all the database connectivity. However - the browser app works fine but the web service returns "Interbase library GDS32.dll not found in the path".

The environment is:
* Delphi 7, IBX 7.1
* Intraweb 9 for the browser app
* Delphi web service components for the web service (WebBroker)
* Firebird 2.1.2
* Windows Server 2003, IIS 6.0, the apps are both ISAPI
* All necessary NTFS and IIS permissions correctly set up, both applications run under the same (anonymous) account
* Web browser and database are on the same machine
* Clean machine with minimal other applications installed or servics running
* No trouble accessing the database using ISQL and other FB tools

On my development system (Windows XP, IIS 5), everything works fine. The only other difference is that on the server Firebird runs under its own account whereas on the development machine it runs under the System account.

I can't figure it out. How can everything work correctly for one application and not the other?? GDS32.dll is the one generated during Firebird installation, has "Firebird Project" as the company in properties, and is in System32. MSVCRT.dll, MSVCR71.dll and MSVCP71.dll are all in the folder. I've also tried copying them all to the Firebird installation folder.

Any help would be most welcome!