I know this is an old question but I have been struggling with the same problem and I thought I should add the solution I have come up with for future searches.
Zone ID doesn't seem to be exposed for most web parts, specifically the ones using
xmlns="http://schemas.microsoft.com/WebPart/v3" (where all properties are returned as "property" elements).
If your web part happens to be using
xmlns="http://schemas.microsoft.com/WebPart/v2" (where properties are returned as elements on their own) then
Zone ID will be one of the XML elements returned as part of the web part definition when you use the SharePoint web service
For the web parts where you don't get the
Zone ID your only option left is getting the page contents using
GetWebPartPage web service and parsing it.
Within the page you'll have the web part elements within
"WebPartPages:WebPartZone" elements (each representing a different zone).
These web part elements have the
ID of the web part as well as the
ZoneID within their main XML node. So you can use regex to fish it out.
Here is a very simple regex (make sure you set the case-insensitive option on whatever environment you're running this on):