I'm unfortunately left in the situation that my host won't upgrade PHP (it's currently running a patched version of 4.0.3pl1 without XML support). Desperate to try out Drupal, I 'messed' around with things until it worked. Here are the list of things I changed:

1. commented out dl("xml.so") from includes/xmlrpc.inc
2. removed & from any =& operations (php produced a parse error when this was present)
3. created custom array_map function and placed in includes/conf.php
4. created custom call_user_func_array function and placed in includes/conf.php

All seems to be running perfectly now, but I'm a little curious about the =& operations where I had to remove the & . Is this likely to cause any problems later on in the future? It's possible that I've missed something, but I've tested it as much as possible for just now and had no further errors/warnings.

Perhaps if there's anyone out there running an older version of PHP, the info above might be of some help to you. I haven't had the opportunity to try these methods out on the latest release of Drupal yet.