Even though it is possible to sort in a normal rich:dataTable because the graphical model supports it, the component actually does not support sorting out of the box. They just support it graphically so you can implement your own. We've had the same problem, it does work in Firefox and IE8 (IIRC) somehow, but it screws up in pretty much all the other browsers. This is 3.3.3 though, so if they've changed it in 4, disregard my words, otherwise, there's no need to even attempt it.
What you need is extendedDataTable, if you want sorting.
Your header should also not be a commandlink. That's not how you sort a column. Just an outputlabel.
check some examples on the richfaces site.
Also,
you should REALLY follow your naming conventions. Not doing so leads to all kinds of confusion, and difficult to track bugs.