Okay I will lay down my thoughts about BSP's in DBPro if thats what you want Aralox.
When I first started game development in 1998 I used Half-Life and created mods for it. Of course I was very very friendly with Worldcraft (nowadays Vlave Hammer Editor) back then so when I started to work with DBPro I was so happy that it could load BSP's directly and work with them quite nicely.
Basically I do not work with BSP only for one reason - it is that the BSP do not act like real objects, you cant add a shader to it you cant rotate or animate manually any brush of the level. It is simply to limited for my needs. But if you want to create a quick and cheap shooter like QUAKE I then it will work.
Here are some tips from me when I worked with DBPro BSP's:
1) As you know you cannot access entities data directly but there was a plugin back on RGT forums that gave you the ability to pass the bsp filename and it will create list of available entities and they parameters. If you really need this then I can DIG my pc and find that plugin. EXTREMELY usefull if you want to make a game using BSP that is something more than a room with one light.
2) Use PAK files - very usefull your media will be safer than freely laying around.
3) Use BSP only for static level mesh. For doors create solid entities in the level editor or if you do not know how to do this then simply create a point entity of your type (you must edit this stuff in the entities.def file in Worldcraft) and then when loading this BSP into DBPro create DBPro door, window, or anything else wheres the entity was placed. Same applies for PLAYER START and DYNAMIC LIGHTS.
4) As I mentioned in previous tip you better create dbpro's dynamic lights in the same places where are BSP static lights placed - this will allow your AI's, doors, or any other stuff that was not baked into BSP to light correctly.
5) Speaking about physics. This is a bit harder. I never tried this in life but it should work like that. Export from your BSP MAP editor whole level (basically all brushes that you want to collide with in physics world) as a format that you can load somewhere else and convert it to X, DBO or lastly 3DS (never use this c*ap - loads too long and is bugged). Then create static triangle collision mesh from this file for the physics level and there you go. Your physics world is colliding with the same brushes as the BSP is working. You can create this with ODE and NEWTON easy dunno about DPHYS - never used it.
6) Finally use free tools to create your BSP's as the VALVE HAMMER EDITOR (and probably some other editor too) does not allow you to use maps created using them in a commercial project.
Finally some say that the BSP is completely useless in DBPro but they are hella wrong because it works and works as it should. Yes the collision sometimes is buggy but it not something that we couldn't deal with. And yes if BSP was created successfully and contains correct PVS data then DBPro will hide all polygons that are not visible and this includes technique you previously talked about -- the occlusion culling. BSP will give you quite a good FPS level because of the level optimizations that PVS set gives you.
And at the end I wanted to mention that if the DBPro originally was released not in 2001 but a few years earlier then the BSP would be hit back then. Nowadays Half-Life I style BSP format is simply quite outdated in graphical form than new BSP formats games are currently using (e.g. the source engine). I see that the DBPro supports multi texturing in BSP's but I never managed to create it - so I cant really say something about this feature.
If Lee would be a wise coder he would really update and allow us to load more BSP formats and create a normal BSP compiler tool not that crap that is shipping with DBPro. I know he is currently busy with FPSCX10 and that the X10 version of DBPro will not contain BSP commands anymore that is a real shame. So what we now need to do with level optimizations? Do we need to code the PVS functions manually or do you think that we do not need rendering optimization at all.
I cant understand that Lee is thinking that we would create a normal FPS shooter without portal rendering system. I was so happy when I saw portal commands in the FPSC dll but they are undocumented and quite useless with standard way FPS works (normal CSG brush style level not that segments kids stuff FPSC uses).
Long story short now I am bugging my head trying to optimize my huge DBO worlds and stuff. Without PVS this is almost impossible.
Do we really need to code everything ourself? Where is the ultimate game creation tool that will save us lots of time and low level programming? At least refresh the DBPro's BSP system.