cursor: hand; is invalid and works only in IE. cursor: pointer; is proper CSS, but it doesn't work in IE prior to 6.

The invalid but universal solution is
cursor: pointer; cursor: hand;

As for the other issue, <a> can only have inline content and <td> is a block. It's not allowed to nest td inside a. xlink would offer the solution, but you need proper XHTML for that which IE doesn't support - not that it supports xlink either.

However, you can put an <a> around the whole content of the cell (provided it's only inline content) and give it a display of block. That should make if fill the whole cell.