I'm the very satisfied owner of three U6 Pros. They work great, they're easy to control, and I've never had a hardware problem with any of them. (Real DACs and faster SPI would be a plus, but hey, the boxes are very inexpensive.)
There's a really ugly wart in the development tools, though, namely having to use reinterpret_cast<long> to pass a pointer-to-double. Typical 64-bit compilers have 32-bit longs and 48-bit pointers, so this approach seems to be "for a good time, not a long time."
Is there any motion towards cleaning up the library interface for 64-bit code?
(One of the benefits of using "reinterpret_cast<long>(foo)" instead of the C-style "(long) foo" is that it's easy to search for, and its wartiness is immediately apparent.)