You are running into an issue with the current collision detection. Invisible blocks are not considered obstacles at all. Remove the invisible blocks in your WMP and replace them with a single large MDL cube set to invisible. While you are at it you might also want to change the machine backdrop into an MDL which will increase compile time and FPS, i.e. only leave the slopes and ramps as blocks.

The pins should not be physics entities, since they won't be moving anyway lots of CPU time would be wasted. Instead use regular MDL or WMB entities for them. Looking at the large number of pins you are likely to run into performance problems, using a sprite for the spheres might indeed be a good idea. Try playing with that scale, while larger scale makes collision detection more reliable it also makes it slower due to increased tesselation of level blocks.