So I went and verified this against vSphere 4.1.
If you fetch the wsdl from vCenter ( https://<vc>/sdk/vim.wsdl ), the RetrieveProperties* definitions are defined.
If you fetch the wsdl from ESXi ( https://<esxi>/sdk/vim.wsdl ), the RetrieveProperties* definitions are NOT defined.
The wsdl files provided in the SDK packages are defined.
As a work around, it would probably be best to include the WSDL from the SDK packages when you are trying to connect to ESXi, or perhaps include them in the script file.