Eric, In addition to removing the temporary relations watch the SELECTed table - you may be in the wrong one. And failing that, add some code to the refresh method:
NRec = recno("MyMainTable")
dodefault() && call the 'built in' refreshselect MyMainTable
Go nRec
this may help track it down. However, when I've had these problems it's almost always been a temporary relationship contributing to the problemm.