If you want it across each row, why not make it the table background instead and repeat it in the y-axis?
table {
width: 300px;
background-image: url('mypic.jpg');
background-repeat: repeat-y;
}
BTW I tested your code with IE9, FF12 - those are showing the image once per row. But Chrome 15 & Safari 5 is repeating it for each td.
Edit
Since you only wanted it in the first-row, you should use background-position to make sure the image stays at the top of the table (that's usually where the first row is, right? :P)
table {
width: 300px;
background-image: url('mypic.png');
background-repeat: no-repeat;
background-position: center top;
}