You could try using an Alpha Method.
In one Set all of your On-Screen Objects to not react with Light, or Ambient Light.
Assign White Textures to them.
You then Assign a Black Texture doing the same settings for the World**.
Before you Sync, set the Current Bitmap to a second Bitmap.
Once this is done you can save this image to file, and create a Pixel Collision.
It is unfortunate that Dark Basic Professional does not have Pixel Collision. It is quite a simple task to accomplish.
It will slow your game down a bit though.
Oh and you use a second Bitmap, rather than Bitmap 0 because this means that rendering is done outside of the user's view. The screen would flicker when you did it.
I would suggest only once every 30/60 frames. It won't be perfectly accurate, but close enough*.
* Assumes your game runs at 60 Frames Per Second
** You should remember to back-up settings