+1 for preferring interfaces, for the very same reasons Hob mentioned.
There is very definitely a performance hit in mocking subclasses of UIComponent or other heavy class. It is not due to the reflection speed, it is due to the bytecode generation as Mockolate must override every accessor and method on the class and its superclasses when generating the proxy class. Using interfaces is much preferred as they usually have a shallow type hierarchy and relatively few accessors and methods.