Quote: "The 'Object in screen' doesn't hide any objects that are behind outher objects sadly."
If you're using a lot of objects, you will have to use a lot of different techniques. The first technique is to split your world up to zones. These zones can be large transparent cubes. You can check if the zone is visible with the 'Object In Screen' command, if it's not, none of the objects inside can possibly be visible.

If it is, check each object inside for it's visibility with 'Object in screen' again, if it is, raycast it, to check if it's behind somthing. If it's not... well it's not on screen. :p