I just noticed someone who deleted their answer in the recent swag contest, apparently because being frustrated at not getting the swag yet.
I don't think that's a valid reason to delete the answer.
Since those are official events with actual impact, I don't think we should let users delete the answers themselves once the event is over. One way is to always lock (historical lock) the question, but then nobody will also be able to edit in order to fix typo or dead links, etc.
Another way is to add a line to the event announcement itself like "Please don't remove your answer(s) once the event ends", then if someone notice a self deleted answer, flag it for mod attention in order to have it undeleted.