To use camera pick correctly, you need to make the level geometry "pickable", using EntityPickMode.
I noticed something else too. In your UpdateLogic function:
Your drawing the crosshairs, then calling renderworld, which will cause the crosshairs not to be seen. Draw all your 2d graphics after the renderworld and before the flip, and you should be ok.
I noticed something else too. In your UpdateLogic function:
ElseIf logic$ = "game" UpdateCamera() UpdateShoot() UpdateBullets() UpdateWorld UpdateParticles() UpdateEnemies() UpdateMiscActions() ;draw crosshairs DrawImage hairs, 400, 310 RenderWorld UpdateGUI() Flip
Your drawing the crosshairs, then calling renderworld, which will cause the crosshairs not to be seen. Draw all your 2d graphics after the renderworld and before the flip, and you should be ok.