I know this is a really old thread, but I've hit this issue in a few projects lately, so I decided to solve it with an extension for now. I'll have a look at what's up in the core soon. Instructions are in the PHP file. Only tested in Silverstripe 3.1.5
https://github.com/theorytank/silverstripe-BelongsManyManyExtension
Josh.