Problem Solved!
Based on the error message above it appeared that the custom SQL command was being run against an empty record set, but I couldn't figure out why. The page was working correctly in DV 2.20.10, but upgrading to DV 3.0.10 broke this.
After restoring the portal to the previous version several times, I noticed that in DV 2, under the General section of the module configuration page, there was not a setting for "Data Cache Time (Minutes), but in DV 3 there was. This made me think that in DV 2 the default was to cache the data, but that this was changed in DV 3. Setting a value for the cache time fixed the problem.
All other instance of the DV module were working correctly upon updating to DV 3. Not sure why data cache time needs to be set on certain instances of the DV module, but not on others. Maybe the folks DataSprings can shed some light on this new feature, as the on-line manual for DV is still for version 2.1.