Hi Andrew,
I like this solution and I used many times. 
Usually I write an instruction for this. 
"When you accidentally delete the contain of a cell, you can undo this with the edit/undo menuitem." 
Otherwise the user cannot write back the original data. 
Best Regards,
Zoltan

I have tried your solution , but the moment I paste an invalid entry in the cell that conatins the validation , the cell accepts it. 

Example:- I enter a validation in cell A5 that the number entered cannot be greater that cell C5, It shoots an error message when I type in a number greater than cell C5, but the moment I copy a number which is greater than cell C5 from a different location , the cell accepts it and the validation is over written.