I recently heard about an issue in Dynamics AX 2009 when adding a service reference or even a reference to a DLL within the AOT. For instance, if you add a reference to a service, call the service and then receive an error, it may be due to problems with data contracts that contain enums. So if you add a service reference or a reference to a DLL in the AOT, and the service or DLL data contract contains an enum, you must restart the AOS service (after you add the reference).
You may see this type of error when calling an external service from X++. However, the issue is not with calling the service but with the service reference. Hope this helps your troubleshooting!