Nigdy się nad tym nie zastanawiałem - zrobiłem małe dochodzenie.
Problem tkwi w tym, że w komórce tabeli jest element div, który domyślnie jest traktowany jako element blokowy (zajmuje cały obszar od lewej do prawej - jest wizualnie oddzielony w pionie tak jakby zrobić nową linię).
Zmiana tego elementu na span daje pożądany efekt - braku nowej linii. Jednak szablonów które tworzą widok jest wiele - kontakty mają swój, spotkania itd. I wszędzie niestety jest ten div. Dzięki CSS można zmienić div tak, żeby był traktowany jak span, ale wtedy tylko chrome zachowuje się tak samo jak dla span, natomiast Firefox nadal kopiuje nową linię.
Jedyne rozwiązanie to zmiana wszystkich szablonów. Inna opcja, która mi przyszła do głowy to zrobić po stronie przeglądarki inteligentne zaznaczanie, żeby w momencie zaznaczania ucinał białe znaki z początku i końca - raczej nikt nie chce kopiować spacji i enterów.