Hola!
Cuando cargas el formulario principal primero se carga el origen del registro del formulario principal y después el origen del registro de los subformularios. Entre una y otra carga hay un minúsculo intervalo de tiempo que hace que el subform no pueda ir al último registro porque, simplemente, no sabe de cuántos registros consta (evidentemente hasta que los ha cargado).
Puedes probar este sistema:
Saca las propiedades del subformulario. Te vas a la pestaña eventos y en el evento "Intervalo de cronómetro" le pones, por ejemplo, 1000 (1000=1 segundo). Si la carga tardara más o te diera problemas aumentas un poco ese intervalo de cronómetro).
Ahora te vas al evento "Al cronómetro" y le generas este código:
,...
Private Sub Form_Timer()
DoCmd.RunCommand acCmdRecordsGoToLast
Me.TimerInterval = 0
End Sub
...
Así debería funcionarte.
Saludos,
Neckkito