That does bring up a good point. I think the Model List concat() function does use that same serialize function, so you may end up with funky results there.
I think the only way to really do this cleanly (so to speak) would be to override makeRequest like paptamas originally suggested, e.g. so it's calling a special "serializeRequest" function which could be like the example I gave, and that function is only used when calling makeRequest. But it also feels a little dirty having to override a core CanJS function, so hopefully there is (or will be) a better way to do this.