The problem might be related with the fact that border is rendered otherwise in IE in case of some elements, TABLE included. I would not use the border to have that red top line. Try to give a red top border to the first row. Or to the tbody (even I doubt it will work). Or add an empty top row and give it a certain height and red background...
Tried applying the border to tbody as well as td and tr, but always had the same result with the cell dividers showing.
Finally went ahead and just added an empty row like you suggested, and set the height and background color, and it works pretty well; side borders seem a little off (because the 1px table border is applied to the red section since it's a row), but it's much better than having those dividers show.
Still don't understand why those dividers were showing. I've used a border-top on tables many times and have never seen that happen before. Wonder if it's an IE9 issue.