Output levels (PC vs. TV) is a notoriously difficult problem with HTPCs. Yes, YCbCr output is almost always 16-235, so by letting your GPU output YCbCr, at least the desktop and normal Windows applications should have correct levels. If you setup the video renderer to output 0-255 video playback should have correct levels, too. However, this setup results in everyone (including video rendering) to render in RGB, and the GPU driver/hardware will as the very last step convert the final RGB output to YCbCr behind the back of Windows. To my best knowledge most GPUs do the RGB -> YCbCr conversion without using dithering, which is a very low quality conversion and can/will result in a quality loss, maybe even a significant one, but I haven't seen any hard numbers about that yet.
PCs usually "think" in RGB. Everything is rendered that way. All applications, even video renderers usually end up in RGB at some point. And that's "ok", as long as all the conversions are done correctly and with appropriate dithering. IMHO you'll get the best quality by letting your HTPC output RGB. Whether you aim for 0-255 or 16-235 RGB output is your own choice. Both is possible and both should work just fine. If you want your HTPC to output 0-255, everything is relatively simple: You configure the GPU to RGB 0-255, and set madVR to 0-255, too. You may have to *force* your GPU to do 0-255. For that madVR comes with a "madLevelsTweaker" tool which can force 0-255 RGB output for NVidia and Intel GPUs, when using HDMI out. AMD users have an option for this in the GPU control panel. If you want your HTPC to output 16-235, there are 2 ways to achieve that:
(1) Configure the GPU to output 16-235 RGB. Tell madVR to do 0-255. This has the advantage that everything (desktop, Windows application, video rendering) has the proper 16-235 output levels. But again the conversion is done by the GPU behind the back of Windows, usually without using dithering. So this is usually a low quality setup.
(2) Configure the GPU to output 0-255 RGB. Tell madVR to output 16-235. This way all conversions are done by madVR with highest quality dithering. The disadvantage of this solution is that you get 16-235 levels for video playback, but 0-255 levels for the desktop and applications. Which may bother you or not, depending on whether you use the HTPC only for video playback or also for other things.
Because both of these options (1) and (2) have their own disadvantages, I usually recommend to let your HTPC output 0-255 RGB. This delivers high quality and correct levels for both video playback and desktop/applications.
All of the above just decides what your HTPC outputs. What the DVDO Duo and the eeColor box do with that, I cannot answer. Maybe someone else can.