There are very few restrictions in Azure. .Net 4 isn't ready for prime time, but will be of huge importance once it is (native .net caching in Azure being one of the biggest wins).
Aside from that, the only real constraints are security imposed, which won't impact the vast majority of applications. There are limitations on the number of ports you can bind to. But that's about it from what I remember. Ultimately it is just a Windows VM, so you can do what you want, including running native code.
And while not a restriction, there are throttling systems in place to keep the overall health of the Azure system good. Throttling can be at the network level, or service level (i.e. transaction throttling in SQL Azure). Overall Azure is very sound, and does not impose any terrible constraints (that I've come across, anyway).