When I telnet from my hosted server and start an SMTP session the Received from address is my IP address of the server. When I send mail from my smtp servcie in IIS I see my hosting company's mx record address. Is there anyway to make sure that my IP address is in the SMTP headers rather than my hosting company's?
The local IIS SMTP service is probably set to use the provider's server as a smarthost. This is configured in the Outbound connections settings of the SMTP service.
Note if you stop using their smarthost, you'll need to keep up on the current best practices for sending mail servers. Unfortunately those change a bit over time when spammers change tactics, so you're kinda stuck watching for delivery problems and figuring out what doesn't match the current trends. You mention IP address appearing rather than hostname, so I'll note that having reverse DNS with a hostname that makes sense as a mail server and matches a forward DNS entry is a very common requirement for large providers to accept mail from your system.