Good questions. We need to narrow the definitions of "Mandarin" and "Cantonese". Mandarin will only refer to the current national standard modern Chinese language below and since I am not quite familiar with C, C will only stand for the standard popular Cantonese today.
1. Hardly any, if the M never hears Cnese and the C never hears Mn. Quite different languages. One thing you might not know is that even C itself includes an amount of different dialects, which's to say a C speaker even might not understand another C speaker well.
2. Today most educated Cnese can speak more or less, sloppy or decent Mn. But very few non-Cnese are able to understand or speak Cnese, so, you see.
In the past, I gotta tell you brother, it was a mess. A well-known historic figure, an official from C came to visit the emperor, and the emperor said: What the h are you saying!
Among selves, native tongues. C speaks C, M speaks M, but the problem is, it doesn't seem that there are some bunch of people on earth, who speak M (the perfect standard Chinese language) natively. The most close group is claimed to be Beijingese though. Studies suggest that most Chinese, generally comparing, speak M with somewhat a bit of dialectal accent, even though they're said to be taught M since they are born, urban Chinese generally speak much better M than the rural; northern (roughly except north-western) Chinese speak M much standarder than the southern. The youth speak much better than the aged. I mean manner of course there're sure large speakers speak perfectly standard M (普通话) through receiving good education, training themselves hard and so on.