I'm struggling to think of any sensible way to do this at the moment - the best I can come up with is to start a transaction manually, and then resave the entities one at a time until one fails, at which point you roll back the transaction - but it's hardly an efficient way to go about things.
I'll give it a bit more thought and see if the other members of the support team can come up with anything in the mean time.
Matt