Rampage, just gotta say two quick things about how FSO works
1) Non-manifold is absolutely fine - every model I make is either non, or open manifold. This doesn't matter, you know why? Because in FSO, when you have smooth groups, it separates the edges anyway and becomes open manifold, thus its pointless to ensure that the mesh is closed-manifold.
2) Don't boolean things together if you do not absolutely need to, it just adds wasted polies, and introduces more opportunities for lighting and smoothing errors. I know this might be a personal preference thing, but just do know that the model can be composed of multiple fused and non-booleaned objects. (In fact, when you get to higher polycounts ie. UED Solaris, this is in fact necessary, to split the model into subobjects to avoid the per-subobject polygon limit)
Just trying to make sure you're not working with any incorrect assumptions with regards to what is required to make a properly-functioning mesh for FSO.