I believe I have found a suitable workaround.
Putting:
Me.Refresh
DoEvents
in the OnCurrent
event of the main form seems to do the trick for most situations. There is still an occasional quirk, but simply changing something in the datasheet (not subdatasheet) seems to make Access load all the data and it displays and behaves as expected.
Additional fixes/workarounds are appreciated, welcome, and will be voted upon appropriately.