VM size is not displayed in the API, as you already found out. As Neil Mackenzie suggested here , you can call Environment.ProcessorCount from your Azure application, which allows you to determine the size of the virtual machine. Then you can save this in an Azure table, for example, and query the table.
EDIT: here is a screenshot where I clicked an Extra-Large instance on Windows Azure and called Environment.ProcessorCount:

EDIT June 6, 2011 - The Serivce Management API has been updated, including GetDeployment updates that return instance size, SDK version, etc. See the blog post here for more details.
source share