The problem we're going to have here is that I didn't write most of the ARM-mode code so I don't understand it either. ARM7 started as a fork of MAME's ARM6 core written for PinMAME. I adapted it to normal MAME/MESS and MG and I added the Thumb support and did a ton of bugfixing (we started off with 1 GBA game running and now almost the entire Good* set at least boots).
PSR Transfer is correct in all cases I've encountered it, but it's rarely used.
Block transfer store is not my code, but I see R15 getting +12 at line 1623. I don't quite understand the rest of what you're trying to say regarding the base writeback.