Das ist keine Leerzeile, sondern vertical-align: middle;, das td standardmäßig hat
Übrigens hat border-collapse einen heftigen Bug in Firefox bis inkl. 3.5,
https://bugzilla.mozilla.org/show_bug.cgi?id=155955, so dass man im Zweifelsfalle zur klassischen Variante greifen sollte:
1. border-spacing: 0; für table
2. die Zellen bekommen border-right & -bottom
3. td:first-child zusätzlich noch border-left (oder table, solange dies kein Boxmodell-Problem bereitet)
4. table bekommt border-top
Der IE < 8 kann dann die Variante per border-collapse: collapse; bekommen - in jedem Falle aber der IE < 7, denn er kennt :first-child nicht.