Я не уверен, что вы ожидаете здесь, поэтому я не уверен, что смогу ответить вам полностью. У NativeWindow нет помпы сообщений. Он просто подклассирует существующее окно, заменяя его оконную процедуру. Когда насос сообщений потока доставляет сообщение для этого окна, он переходит к процедуре окна подкласса NativeWindow, а не к исходной процедуре окна. Если подкласс не обрабатывает его, он должен быть перенаправлен в исходную оконную процедуру.
Я подозреваю, что вы создаете окно, а затем подкласс NativeWindow в вашем дополнительном потоке, но вы не создаете насос сообщений в этом потоке. Так что никакие сообщения никогда не обрабатываются. Если вы хотите создать насос сообщений во вторичном потоке и не дать ему просто выйти, вы должны создать окно и затем вызвать некоторую форму Application.Run в этом потоке. Затем вы можете подклассировать окно и получать сообщения.