What nuzzle suggested in #2 seems like the easiest approach to this. Your statement that any object implementing MyInterface must also be a MyObject can even be enforcerd my requiring the MyInterface to take the MyObject pointer as a constructor parameter.

It's then impossible to make an interface that isn't an object. And you can implement the "get object from interface" function in the base MyInterface class.