Many thanks, Jon, that finally worked (eventually --- see notes below -- we should get an FAQ on this or get Jim to put it in his instructions). I could actually hear the improvement! And I don't usually claim to hear things -- the difference between Radio Shack zip wire and $600 interconnects is inaudible to me.
The tricky thing was that I had to set Foobar to output 32 bits, and asio4all to force WDM Driver to 16 Bit. Did you have to do the same thing?
Also, in the ASIO4ALL selection in the Foobar Output menu, I had to remove all other "Devices" except ASIO4ALL. I had an old ASIO driver for a Maya EX USB card appearing as an option there, and it seemed to be messing with my output, causing very audible distortion. Removing it did the trick -- so not only does ASIO4ALL need to have only 1 output option in its own menu, but the same applies for the Foobar Output menu.
Just for reference, here are the settings that worked for me:
IN FOOBAR
Playback Menu:
Output data format: 16 Bit padded to 32 bit
No dithering (though it doesn't seem to hurt)
DSP Manager: Nothing selected (i.e., no need for resampler... and implementing volume control seems silly when we're doing all this work to bypass a software volume control so we can use an honest-to-gawd potentiometer).
Output Menu:
Output method: ASIO (dll version)
Device: ASIO4ALL v2
Thread priority: Time critical
Buffer size: 20
Shift Output channels: 0
Use Direct Input Monitor: Doesn't matter
IN ASIO4ALL DESKTOP MENU
WDM Device List: USB Audio DAC / Out: 2x 32-48kHz, 16Bits (both green)
ASIO Buffer Size: Maximum (2048 Samples)
Latency Compensation: 32 Samples (probably doesn't matter)
Use Hardware Buffer: No
Always Resample: No
Force WDM Driver to 16 Bit: Yes