To clarify something you said
Cannot use "new" with "withevents" variable.
That is not a true statement. The problem is that little in vba can be created with the New keyword. Only thing I think you can instantiate is user defined classes. This would fail anywhere
Set mySync = New Outlook.SyncObject
regardless of withevents.
I guess most vba objects do not expose a constructor.
Almost everything in vba is created by adding some kind of create function.
createObject, createControl, createtablef, createfield, currentdb...
Or an add function of a collection that returns a new object.
set myNode = tvw.nodes.add(....)
But if you define your own class and use that in another class trapping its events, you should be able to use the new keyword.
If I have a custom class the traps form events
private withevents mForm as access.form
and then I try this
set mForm = new Access.form
it will fail because that line of code fails everywhere, because to create a new form you have to use the createform function.
But if I do this
set mForm = New Forms_FormOne
that code will work because you can instantiate a specific form's form instance using the new keyword.