Of course you must NOT set the polygon flag here. That's a flag for experts only.
The most obvious reason of such a problem is that the ball's collision hull is too big for fitting through small corridors.
For giving the ball a smaller than the default hull, either set its BBox flag in WED, or call c_setminmax to set it to the ball's visual size, or set min_x, max_x, and FAT|NARROW manually in the script.
BTW, you can easily see the ball's collision hull by pressing F11 twice.