XSLT 1.0 is known to have very poor date handling.
My guess and that is all it is what you think you are sorting is actually represented in a much different format from what you see when you "print" it.
When you are sorting in the private view you are using SQL and when you are sorting in the public view you are using XSLT. This is my impression and may not be a statement of fact but this is my working model.
I ran into this issue also and have decided to leave it for another day when I care enough to try to address the issue.
The lack of access to standard Micorosoft extensions of XSLT 1.0 in MOLB has eliminated that as an avenue from using these extension to address know weaknesses in XSLT.
MOLB will be a much better place to do web design if we have the ability to access these extensions. The reason Microsoft created these extensions to XSLT 1.0 is because they realized that the extensions were needed especially when using XSLT on the server or in the browser for web related activities.
When it comes to XSLT, at the moment we are left with a car that only has 1 gear and that is reverse.