According to my experiments with media extension instance, I don't think there is a need to call EndCreate*() if the engine was shut down. What we'll need to do instead is to release the resolver/extension on Shutdown() as well, as a separate fix. This also implies that on Invoke() you'll have nothing to call EndCreate* on.
Cancellation call is also not used with the extension, so I don't think it's a requirement to cancel it.