Written Cantonese Pronunciation I recently attended a Cantonese reading class in Hong Kong and discovered that pronunciation of the spoken form of written Cantonese can be very different from normal speech.

The teacher was not able to provide an reasonable explanation as why this is the case and whether this is unique to Hong Kong.

Can anyone here provide some insight to this?
Your title should rather be "Cantonese Pronunciation of Written (Standard) Chinese". What you are talking about is not really Cantonese, rather it's (mostly) Mandarin, that, if you read out loud, will be pronounced with the Cantonese pronunciation of the characters. It's more or less the same as asking a Korean or Japanese to read out a text written in Chinese -- the characters will sound very different to Mandarin, but the reader would still be speaking out a Mandarin text. Hence the 給 vs 俾 example: 給 is Standard Chinese, 俾 is Cantonese.

Cantonese can be (and is) written, with all the "right" characters (係, 唔, 俾, etc) and grammar. You can see many examples of this in ads, in trains and buses for example, especially from the government and local companies, when they want to "talk" to the public.

As for Guangdong people not knowing that 給 is kap1 that's not the case -- there are plenty of words used in Cantonese that have the word 給 is it, including more recent creations like the net slang expression "給力".