I was able to fix this -- By analysing the request made by the web ui, i posted:
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<soap:Header>
<context xmlns="urn:zimbra">
<userAgent xmlns="" name="ZimbraWebClient - FF3.0 (Win)" version="6.0.5_GA_2213.UBUNTU8"/>
<session xmlns="" id="126335"/>
<notify xmlns="" seq="2"/>
<account xmlns="" by="name">email@someaccount.com</account>
<format xmlns="" type="
js"/>
<authToken xmlns="">xxxxxxxxxxxxxxxxxx</authToken>
</context>
</soap:Header>
<soap:Body>
<BatchRequest xmlns="urn:zimbra" onerror="stop">
<ModifyPrefsRequest xmlns="urn:zimbraAccount" requestId="0">
<pref xmlns="" name="zimbraPrefPop3DownloadSince">20110704000009Z </pref>
<pref xmlns="" name="zimbraPrefMessageViewHtmlPreferred">TRUE</pref>
</ModifyPrefsRequest>
</BatchRequest>
</soap:Body>
</soap:Envelope>
to:
http://mail.zimbraserver.com/service/soap/BatchRequest
i got the soap request by using firebug to see what the browser posts when i hit save changes after modifying the allow mail to be downloaded parameter. I have replaced my authToken, email and domain name. I hope this is useful to someone.