I would tend to think the following:
1: One would have to have some level of math to be able to understand and write programs that require numeric, algorithms, and other mathematical computations. A solid foundation of mathematics will definitely help in programming but by no means is it the only arena that programming covers.
2: Yes and no, IMHO. Those who have straight experience without formal training will be hindered to a degree because they wouldn't have the beginning knowledge of basics and whatnot. However, while they don't have the formal training, they also gain a better idea of figuring out different methods that those bound to formal knowledge might overlook or not think of. The two in a team would complement quite well, I think.
3: Yes. Doing math in perl is a lot easier and more conducive for those who aren't necessarily mathematically-inclined rather than C, Assembly, etc, simply because of form and modules.
I also know that even though someone has a lot of Computer Science, that doesn't mean they are intelligent on a programming level, even if they have a lot of math training. I've seen a lot of people with Comp Sci degrees who are a lot less intuitive in many aspects of Comp Sci simply because the formal training gives them blinders that inhibit their expansion and creativity. I've also seen those who are utterly amazing, with degrees and without. It's all dependent on how one can learn, I think.