hi. i am a logic/max user and have run into problems with the IAC buss as well.
I think your best bet is to use rewire and send midi data via the rewire object. Rewire has its problems as well, though Logic 8 claims to have better rewire implementation (I dont have a copy yet).
I've found that rewire with max/logic only seems to work if I do things in a particular order-
Open Logic, open/create the song I want. Make sure the song is fully loaded.
Open max. set the audio driver to ad_rewire. Turn audio on.
If I dont do everything in exactly that order, Max will freeze and I can't even close it with a force quit, i have to reboot. Its a big pain, but this seems to work. Once you have that up and going....
If you havent, create a rewire object in logic's environment and put it in your arrange page. In the parameters for the rewire object should say MaxMSP under the 'device'.
If you create a notein object in max and double click on it, you should see a rewire option in the pop up menu.
Any notes you create with the rewire object should be sent to max with good timing.
When you close everything, be sure to quit Max first, then logic.
Another solution is to create a pluggo plugin and run it in logic. I prefer rewire (even if it is a hassle) because i can edit more seamlessly while I'm working.