After an upgrade on z-push, everything seemed to be syncing fine, but, under certain circumstances, sending of mail from an IOS device would fail.
The log files hint that this is a WBXMLException and also notes that ZPush::CommandNeedsPlainInput(1) – this is a slight mis-direction.
The solution is to ensure that the Virtual Host alias is set to the index.php page of your Z-Push web root.
Alias /Microsoft-Server-ActiveSync /srv/www/virtualhostdir/index.php
Restart apache after this change.