Thick borders do suffer from the diagonal split at corners, I thought it only happened over 2px but I see that your borders are 2px.
You can use an image instead of color for borders. See http://www.css3.info/preview/border-image/ border-image tutorial.
I haven't tested these to see if they work like background-images so I don't know if they will print out but it may be worth experimenting.
Code downloaded to my PC will be deleted in due course.
WIN7; IE9, Firefox, Opera, Chrome and Safari for Windows; screen resolution usually 1366*768.
Also IE6 on W98 with 800*600 and IE8 on Vista 1440*900.