On retrieving metadata for sobjects, including standard ones i.e Account object, I note that I am passed back only the custom fields for this object. Any suggestions on how I include standard fields in my retrieve request, so that when I interrogate the results I get the complete picture of all fields, both standard and custom ?
The Metadata API does not support a number of fields, specifically mentioning:
Standard fields that aren’t customizable, such as autonumber fields or system fields
This means that, for example, you can't retrieve Account.Name, but you could retrieve Lead.LeadSource (because it is customizable).
If you want to get a full list of fields, you need to use either the SOAP or REST API's describeSObject/describeSObjects call. Take a look at the documentation for either API for more details.