ImplementsInterface() fails with nested inheritance. Is there a work around?

Author double posted. Already answered here: