In reply to:
"You need to create the directory /blah.com/whatever/data/ with web server write access"
I have used chmod to change the access levels to public i.e. 0777 and globally write access is enabled.
What else do I need to change to get this to work?
First of all, in spite of the elgg instructions, sufficient permission for the web server to write to directories in the DH environment is 755. This is due to DH use of suexec, and you will find you should never need to set anything to 777 or 666 in the DH environment running common web application scripts (in fact, doing so will often "break" stuff on DH!). Set the permissions on that directory to 755, and on your templates to 644, and you will be good to go in that regard. 
I've successfully installed elgg, and have made some other changes n the config.php file that make sense in the DH environment, and improve security. My changes are as follows:
1.) // You may change these values to something else but you must ensure that
// the user the web server process runs as is able to read and write under
// these permissions.
$CFG->directorypermissions = 0755;
$CFG->filepermissions = 0644;
2) I place my "data" directory *outside* my web accessible space, and corrected the config.php accordingly. For example, instead of using /home/username/blah.com/whatever/data/, I used something like /home/username/whatever/data/ so that that whole directory would only be accessible from the script, not from the web.
Additionally, as I have not gotten around to "curlifying" the "explodeping" module (which currently uses url_fopen and therefore will not work on DH), I simply deleted it's directory so no errors were generated (I didn't want that activity anyway!).
--rlparker