Yes, it's a classic tactic in maps like cs_militia to turn the lights on/off through teh wall and then rush in.
A simle method is to put the button or charger on a wall that has nothing behind it.
Or liek Brad said, make the walls thicker.
As for the gun being picked up, make teh cabinet thicker, or use a trigger/game_playerequip method to give weapons in cabinets.
See
http://cariad.co.za/twhl/tutorial.php?id=87 for details (right near the bottom)