I'm not sure, if I fully understand your point. Just for clarification:

Current state (before this PR) is that architecture dependent files exist in `RIOT/bin`, `projects/$(PROJECT)/bin` and `boards/bin`. Thus, building the same project for another architecture or building another project for the same architecture almost always require a `make clean` before.

After this PR every binary goes into `projects/$(RPOJECT)/bin` - still requiring to call `make clean` before building the same project for a different architecture, but allowing to build different projects (for the same or a different architecture) without cleaning in between.

What we could do additionally would be to make a subfolder in `projects/$(RPOJECT)/bin` (e.g. `projects/$(RPOJECT)/bin/msba2`) containing all .o, .d and .a files and only putting the elf and hex file directly into bin, prefixed with the board, e.g. `projects/$(RPOJECT)/bin/msba2-hello_world.hex`.