Hi all - I didn't quite see this topic so I thought I'd post my finding:
After weeks of trying to optimise my Max and M4L code, it turns out that the slow response of my Ipad gets a LOT better when I set up a peer to peer network. Searching the web there are a few similar stories, apparently it is common.
I'm using TouchOSC on Ipad to talk to M4L devices on my Macbook, through a central IO/routing module which is running in MAX (ie not in M4L)
When both my Ipad and Macbook are connecting to a Wifi router the response is quite slow. When I use the 'create network' option on my macbook and connect them directly it is a lot faster, and also more reliable.