Have you considered setting the Validation Severity to Warning instead of Error for a better CMS Editor experience? Forcing an editor to have to save and publish child content before they can save changes to the parent content item could lead to editor frustration. By switching to a warning instead of an error you can still provide feed back to the editor while letting them publish the parent before publishing the child. This would also avoid the situation you're describing.
Have you considered looking at the EPiServer.Labs.BlockEnhancements project? This includes showing block status on content areas and publishing blocks with pages among other things:
I have IValidate<TContent> on specific pagetypes that will check status of blocks in an contentarea (i.e. are they all published), to prevent you from publishing ... fine ... it gives me an error (red).
If I then go into the child block ... publish to mitigate the error. When I click the "Back" button and comes back to the page it is still in error state and I am not allowed to publish it again so it is not revalidated even though the content is loaded from content repository.
If I change page and back again the error state is not updated either. I need to force browser update to get the state updated, so my guess is that the error state is stored frontend.
Any easy way to force the update from backend (without going into client modules or something like that)?