I am running ejabberd 1.1.2 on Windows although have also tried on Linux.  I cannot seem to get the text restore to do anything.  As a test, I:
- started with fresh install
- defined three users
- did a text backup
- did a binary backup
- deleted two users
- did a text restore expecting to have three users restored and no users were restored
- did a binary restore and three users were restored
So binary restore works and text restore certainly does not seem to.
Any hints out there?

It works with a manual trick
So binary restore works and text restore certainly does not seem to.
You are right, I can repeat the same problem with ejabberd SVN and Erlang R11B-2 (Debian unstable).
When the text dump is generated, some entries are like:
{route,"pubsub.localhost",<0.344.0>,undefined}. {route,"echo.localhost",<0.332.0>,undefined}.Later, when ejabberd tries to load that text dump, it fails with this error:
If you remove all the lines that include '<', and try to load the file again, it will work correctly.
However, the Mnesia documentation recommends to use binary backups, not text dumps.