Man in the middle?
Ignoring the 'forward secrecy/ratchet' blog entry, because ephemeral keys don't work if the whole conversation is tapped, any listener also has the key change messages no matter how many you put into the stream.
How is the initial key exchange not subject to a simple man-in-the-middle attack?
It looks from the link below as if you're sending a public key each time. So that could easily be swapped. An NSA interested in your anti-Obama rant to your Congressman, simply routes the conversation through their software and swaps the public key for theirs.
The NSA owns the telcos, they would simply add a key swap into the SMS software of the telcos and would have the first key exchange from day one.
Assuming the infrastructure isn't trustable (with telco legal immunity, it makes no difference what the law says, the telcos obey the NSA not the laws, hence US telco infrastructure is 100% untrustable), then you can't do a public key exchange across that network.