der .live()-Handler greift im <div id="content">-Bereich und der .click()-Handler greift im Menü. Ein Problem was dazu kommt ist, dass im Menü noch ein Toggle-Handler ein wörtchen mitzureden hat.
Von toggle() war vorher nie die Rede ;)
Daher auch mal mit return false; und mal ohen!
Denn im Menü bzw beim toggle-Handler steht bereits ein return false; im code. (Den rest muss man nicht unbedingt verstehen!)
Eine letzte Frage wäre: Kann ich 2 Handler irgendwie Kombinieren?
Soweit ich das beurteilen kann ist es nicht notwendig überhaupt zwei zu haben - click(function() {}) lässt sich afaik immer 1:1 durch live(click, function() {}) ersetzen.
Was ich aber nicht verstehe, warum du nich $.ajax() verwendest - da lässt sich viel einfach kontrollieren wann was passiert.
Deine Funktionswüste mit loadContent, showNewContent und hideLoader kannst du dir sparen wenn du mit beforeSend, success und complete arbeitest.