* When you say 'BlackBox environment', are you refering to global variables of imported modules? Or does it also include the dynamic variables?
Native environment includes module global variables and heap memory. Heap memory should be not accessed outside of native section because garbage collector will temporary change heap object tag and pointer values.
I could't tell from the description if you were able to do the needed adaptations 'transparently': that is, did the non-host-specific modules of BlackBox have to be changed at all?
Native code do not require any changes because only one thread can access native environment at specific moment. Using global variables to exchange data between modules is safe. Main consequence of multi-threaded environment is that it is unknown in which thread native code will be executed, there are no main thread and main loop anymore. But native code don't care, it have no concept of TLS etc..
I saw that RasterModels is a wrapper around GuiFills.Bitmap; so, is Raster Haiku-dependent?
GuiFills, GuiRasterizers etc. implements platform-independent software rasterizer and drawing. Because Blackbox Ports.Rider interface don't support raster graphics, platform-specific code should be used. GuiVidBufViews[2] provide platform-independent abstraction for drawing on raster buffer. GuiHostVidBufViews is platform-specific driver for it. There is a Windows version of that driver.
I tried to compile my own project, but, alas, it depends on BlackBox 1.8a interfaces
What interfaces exactly? I keep my own Blackbox distribution and I port some Center changes to my distribution. I can port new changes if needed.
And a final question: why Haiku? is it a hobbyist interest, or commercial, or educational?
Mostly hobbyist interest. I like Haiku, it think that it is the best open-source OS, but unfortunately it lacks many software and driver support. It is also well written and easy to understand, I learned a lot about OS architecture while reading Haiku source code. Unlike Linux, Haiku is consistent OS providing environment and API for desktop computing. Linux distributions are a mess of unrelated components that are working together by force. Many components of Linux ecosystem are unstable, for example GTK3 was introduced making GTK2 Blackbox port obsolete. Developers make crazy changes like renaming API with no good reason and breaking compatibility with applications. Haiku introduce new features without breaking API and ABI, for example anti-aliased sub-pixel graphics and gradients were introduced so web pages can be natively rendered with Haiku API. Compared to Haiku, Linux desktop environments have a lot of small issues like broken shortcuts, limited windows and focus manipulation, inter-application communication, file associations with lack of some features etc. Modern Windows is terribly bloated, Blackbox on Haiku is running much faster, than on Windows.