After a quick search/replace of \n to \r\n in rcube_vcard.php the vCards are importing correctly. I tried to be smart about it but it may not be 100% correct. :)
diff orig/roundcubemail-0.5.3/program/include/rcube_vcard.php ./roundcubemail-0.5.3/program/include/rcube_vcard.php
229c229
< $vcard_block .= $line . "\n";
---
> $vcard_block .= $line . "\r\n";
242c242
< $vcard_block = $line . "\n";
---
> $vcard_block = $line . "\r\n";
266c266
< $vcard = preg_replace(array('/^item\d*\.X-AB.*$/m', '/^item\d*\./m', "/\n+/"), array('', '', "\n"), $vcard);
---
> $vcard = preg_replace(array('/^item\d*\.X-AB.*$/m', '/^item\d*\./m', "/\n+/"), array('', '', "\r\n"), $vcard);
281c281
< return preg_replace_callback('/:([^\n]{72,})/', array('self', 'rfc2425_fold_callback'), $val) . "\n";
---
> return preg_replace_callback('/:([^\n]{72,})/', array('self', 'rfc2425_fold_callback'), $val) . "\r\n";
321c321
< $line[2] .= "\n" . $lines[++$i];
---
> $line[2] .= "\r\n" . $lines[++$i];
421c421
< $vcard .= self::vcard_quote($type) . $attr . ':' . self::vcard_quote($value) . "\n";
---
> $vcard .= self::vcard_quote($type) . $attr . ':' . self::vcard_quote($value) . "\r\n";
425c425
< return "BEGIN:VCARD\nVERSION:3.0\n{$vcard}END:VCARD";
---
> return "BEGIN:VCARD\r\nVERSION:3.0\r\n{$vcard}END:VCARD";
445c445
< return strtr($s, array('\\' => '\\\\', "\r" => '', "\n" => '\n', ';' => '\;', ':' => '\:'));
---
> return strtr($s, array('\\' => '\\\\', "\n" => '\n', ';' => '\;', ':' => '\:'));