I agree with you wholeheartedly on this one.....don't make a game that you can play online for achievements and then shut the servers down. Sadly we can't really blame Microsoft on this one (I'm not sure I actually said that).
Basically there are plenty of games out there that have peer to peer networks. Both Gears 1 & 2 are played on someone "host" 360. As many times as I am irritated to no end by this (how many times have you been shooting someone in the back with your shotty and then get gibbed by that same person and they don't even turn around). It is better than a server shutting down completely. One of the interesting other options that certain games including Timeshift had (and had an achievement tied to it) was what certain games do allowing you to make your 360 the server to allow other people to play on it. You set your 360 up as a server on Timeshift for a total of 48 hours and you get yourself a nice achievement. It still had peer to peer - you could host and play the game - but it was a nice little feature to add.
I have heard (not sure if it is factual) that MS does charge the developers to keep their server up and running. That doesn't make a lot of sense to me as we pay 50 bucks a year to have live service and as much as I appreciate the updates they give us, I can't imagine they cost soooo much (especially given all the freaking advertising they sell now) that they have to charge to have a server up to host the 360 games. If that is the case however then my previous statement about it not being MS's fault was wrong and we can blame them...100%