I am planing a trip from Montreal to Tehran. The best itinerary is a flight with two stops - one at London and one at Frankfurt. Is there a need for a Schengen Visa for transit via Frankfort from London to Tehran? I am a Canadian permanent resident and I hold an Iranian passport.
The UK Border Agency have a handy tool for working out if you need a visa or not for trips to or through the UK. From that, you can discover that while most Iranians do require a visa even for a direct airside transit (international to international), you're ok. One of the exemptions from needing a UK transit visa is:
have a valid Canadian permanent resident card issued on or after 28 June 2002
Second question - do you need a transit visa for Frankfurt? The German Embassy in London provides details on that (amongst many other sites dealing with Schengen visas). Again, most Iranians do require a visa to transit at an airport in the Schengen area, but you're in luck as there's an exemption for:
they are in possession of a valid visa for a Member State of the EU, Canada, Japan or the United States of America, or when they return from these countries after having used the visa
So, as a Canadian permanent resident, you're fine to do direct airside transit (international to international) in both London and Frankfurt. (Amsterdam and Frankfurt, for example, would be different as that would involve entering the Schengen zone in one and leaving from the other). However, as you're relying on exemptions to the normal rules, it's best to take a copy of these rules with you, so if the airline staff aren't aware of the exemptions they can check.