By Wayne Brill
The Document.Thumbnail property will always return nothing when called from an out of process application. There is a known Microsoft limitation on marshalling bitmaps across COM APIs between two processes. If your VB application runs out-of-process of Inventor process, then you hit the Microsoft limitation. Also if you are debugging an in-process client application (e.g. Inventor AddIn), then the VB environment actually creates an out-of-process exe as part of the debugging process, this would also prevent you from marshalling bitmaps across the API.
Usually you can use one of the following several ways to avoid that problem:
1. Use Apprentice because it's running in its own process. (VBA 32 bit runs in the same process with Inventor but not 64bit).
This post shows how to use Apprentice to get the thumbnail.
2. Create an in-process Addin application (DLL addin) - Note for this way, running the Addin application (not debug) is ok, but if you debug the application from VB or .net IDE, you still need to comment out the codes relevant to the thumbnail picture interface so your application can be loaded in Inventor successfully, at last comment in those thumbnail picture related codes before releasing your application.
This Mod The Machine post has more information about this issue.