The actual question here is why they won't sell you a ticket for A->B for the actual cost of that leg of the A->B->C flight, and then sell the same seat for B->C to someone else.
If you are sure that 80% of your passengers will go to Hannover only to then fly to London (and back) your prices will reflect that... and Frankfurt-Hannover cannot be lowered too much because you still has to try to reach your quota for the flight per se.