as I just tried to run this Moonlander 2 under Windows on a completely separate machine (using "official" bfgminer binary from you) without any USB hub involved, and got exactly the same result. The stick hashes at about 2.6 Mh/s, but the driver spits out "Unrecognized respose" every few seconds.
I have had similar issues, and the 2.6Mh/s sounds all too familiar (several ppl reported similar effects throughout this thread). What clockfrequency are you using? Did you twiddle with the potmeters? Also, when it starts up, that is right after bfgminer starts up, is the MLD behaving normal, do you get the expected hashrate before the first restart? Make sure to check, and that it only drops down to 2.6 after it starts restarting.
When connected directly on the PC, go back to at least 600Mhz or (even) less, until the problem completely disappears. Then scale up from there and see where it starts.
For me it is definitively seems power
supply issue, and I seem to have it under control now on my external hub, but I have been struggling with the same error messages and one MLD stopping and restarting all the time too. There is a debugoutput option on bfgminer and the futurebit-driver has a lot of debugoutput (see corresponding .c file in the source code), but it didn't get me much wiser other than understanding how this thing really works under the hood, which is fascinating in itself...