Not sure this is correct: this section about the actual m2m table
Anyway, here is where the old code bug was all about: table names were generated differently if using south or plain syncdb because of different code path