In the word Санкт-Петербург the sound П must be pronounced, no doubt. Maybe I pronounced it too fast, so you could not catch it? Or maybe there is something wrong with the audio itself? Let me look into it. Anyway, there is no any rule about pronouncing or not pronouncing any sounds in the hyphened words.Some sounds although are not pronounced, for example Л in Солнце but it is a whole new story...