The approve button is not the default submit button so it does not perform the validation like the save button does. In most cases, it will save the data if it has changed, although I have not tested with the Approve button. When you have an object checked out and check it back it before saving, it saves then checks it back in. You may present this to Kentico as a bug, but since you're on a version that is over 5 years old I can guarantee nothing will be done. But if you can verify it within the current version 10, they will get a bug fix out for it.