AIM will send to the client that's available. BeeJive has an auto-away feature that sets it to away when you exit the app. If you do this, when you sign in elsewhere, it will send it to your available app.
What about G-Chat? Some messages are sent only to my desktop, some are sent to both. Seems completely random. I get the same results whether I set my iPhone BeeJive to Away or Busy. It's kind of annoying.
Also I'm not sure the auto-away feature works very well, at least not the auto-away message.