I don't think the MSN thing holds much water.
The dinner... maybe he genuinely did, tellh im he has to make up for it by taking you to dinner another time instead.
Maybe he gave you the birthday present early because he wasn't sure if he'd see you again before your birthday, it doesn't sound like you get to see each other too often?
The texting point... ask him about the girl, catch him off guard and see what he says.
The best way to go about it really would be to just confront him about it. Don't go all out and accuse him, just tell him you have a feeling and you just want to clear it up. It isn't fun, but either he tells you he is, and you don't have to put up with it any longer, or he says he isn't, and as long as you were tactful in the way you brought it up, talk it out and be done with it.