Power looks fine, plus I tried hooking up power externally (so that it's not coming from the 5V custom shield). I also used the Surface docking station (hub) instead of the industrial USB 3.0 hub.
I think the problem is with the driver on the PC. I'm attaching waveforms I collected from the Arduino (pins 1 and 2) showing the data being sent/received and I can see signals on the USB lines (differential and occurring much much faster). But I still can't receive data (can send).
I can use the "devcon" command from Microsoft to reset the Arduino USB port from the command line, and this resets the serial communication. I have to waive the white flag and use this hack as a solution, but this is hardly solved.
The only other thing to try is to use a 32-bit machine (XP) to confirm. Unfortunately, I don't have one readily available or anymore time to spend on this. A single-post user claims this fixed his problem Serial communication stops after long periods. - #12 by system - Project Guidance - Arduino Forum
DS0001.BMP (16.1 KB)