So I guess associations are a well and truly a second class citizen in CanJS? The only way to make it somewhat work out of the box is to 'fatten' my json data with all associated data, but this is really inconvenient and inflexible.
So I decided to fork can.associate and make it work for current versions of canjs, turns out it was quite simple. For those interested: https://github.com/beno/can_associate
I am a big fan of canjs, but I don't quite understand why it doesn't have better support for such elementary concepts as hasMany and belongsTo.