westconn1, thanks for the reply.
Turns out the issue wasn't with the eventhandler being in the wrong place, or even with the TabPage. After endless head scratching and removing some components from the form the problem disappeared. On rebuilding the form it worked for a period of time until Access crashed (I don't know what I did or added to make it crash) and thereafter has continued to throw the prior ActiveX/OLE server error. Event's on the subform (located within a TabPage) cause the error; doesn't matter what the event is, they all cause the error.

My VBA refences (VB editor -> Tools -> references) haven't changed.
Is there a way to reset the ActiveX/OLE server?

Thanks