Not sure what you mean. Windows Azure does not and cannot provide a desktop experience. What API are you referring to? Azure is cloud services like a web application, a web service, database and storage services, etc.
We provide a windows desktop application that is written in c++, and its user interface is created using the winAPI. We want to move the application to the cloud (Windows Azure) in order to provide software as a service. We need high efficiency (that is why it was written in c++ to begin with), but otherwise want to make the transition as easy as possible.
It seems the way to go is to turn the data processing components of the app into a dll and rewrite the user interface user asp.net / C#.
Yes, a C++ desktop application cannot be served from Azure, unless you use Infrastructure as a service (virtual machines) where the desktop application is installed. But I really don't know if this model allows terminal services or not. I guess it does, in which case it would be the simplest. But to be honest, I don't remember seeing it as a service. Go double-check.
If not, the other approach is convert to a web application, yes. This is where tier programming pays off: If you had written your application in tiers, all you would have to do now is the ASP.net front end and maybe an extra tier for P/Invoking your C++ tier.