I will try to explain the current functionality: your question is about how to discard local changes made over the current HEAD version. In this case doing a HEAD check-out is not valid, due to the fact that at this moment if you have changes over the last revision in the repository, the server is not detecting any changes (it detects the local and remote versions are the same and, as you said, nothing happens).
So in my opinion, for now, I recommend that you continue with the habitual procedure described in your first post.
Finally I want to point that a new functionality for allowing to discard local changes made in VCS synchronized databases is in the Denodo Platform roadmap.
Hope this helps!