I don't know...I don't tend to get all upset when someone doesn't IM me when they are online. I usually just figure they are up to something that is keeping them busy and they don't feel like talking. It's not an insult, people just get busy. I don't want to get into someone's way if they are researching something for class or if they are in a hurry.
I really only use my IM's to keep in touch with people who have moved, and even then, I probably talk to those people more by phone or email. The people I IM the most are probably the ones I see the most often, but they might message me while they are on a break at work or something, and I chat with them then. It's a good way to get info that might be important or just to see how their day is going.
That person you are waiting for a message from that you get mad at might be thinking the same thing you are. Just drop a "hey, are ya busy?" or something like it and even if they aren't, it won't hurt your feelings if they say they are because you won't know! Don't create drama where there isn't any.