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.