OP - I think its always safer to be overdressed then underdressed. If you are the only guy overdressed, you can lose the tie and jacket and just roll up your sleeves - whereas if you are underdressed, theres no alternative - its embarrasing and its rude to the host/hostess of the event.
In your situation, I would say that you probably weren't overdressed at all - a suit at an engagement party is very normal, unless its gathering of close friends only. If someone shouted to me "you are over dressed" I would've simply told them that I came here straight from a formal event and that it really isn't a big deal.
Of course there are events where wearing a suit would look silly - certain concerts, clubs, etc. but apart from the obvious, I would always dress up rather than down. Depending on the season you can probably opt for a smart business casual as well - i.e. no tie and a sports coat rather than a full suit or suit pants, dress shirt and a pea-coat etc.