I almost posted this for support but then i gave it some more thought.
If Me is passed from to a function, it does not check for the correct interface.
Function:
Function DoSelect( ByRef o As iInterface1 ) AS Long
And call from interface2 (the same class and data) like:
DoSelect( Me )
This may have been solved by using ByVal (where the correct interface may get set?) or maybe we need to explicitly pass the correct interface.
In this case i was 'forced' to make a wrapper like:
Local c As iInterface1
c = Me.Interface1
DoSelect( c )
Better ideas?