"Does On Error Resume Next have any disadvantages with regards to system resources."
I use it, and also On Error Goto. In some cases it takes a lot less code to let the error happen, trap it and react, as opposed to testing-testing-testing your way around it. Error handling is a regular part of Access, it shouldn't bog things down any more than the other parts. In fact, there is even a .Raise method where you can generate your own user-defined error.
EG If you want to know if a form is loaded, there's code floating around to call the Windows API and look for the window title, etc etc. You can instead do this:
Function IsLoaded(theform) As Boolean
Dim frm As Form
On Error Goto err_IsLoaded
Set frm = Forms(theform)
IsLoaded = True
exit_IsLoaded:
Set frm = Nothing
Exit Function
'
err_IsLoaded:
IsLoaded = False
Resume exit_IsLoaded
'
End Function