Thanks Paul. Got readings from both the magnet and accelerometer now but I'm intrigued as to why the standard I2C stuff didn't work. Think one of the other posters mentioned repeated-start condition so going to experiment with that to see if I can see what is wrong with the standard transaction based stuff.
Will post all results to the wiki once I've finished.
Seems so easy now it's working properly!