I messed with a lot today, but didn't get to try spirited yet, I'll do it tomorrow.
The STAT_STAT_SPT wofy mentioned crosses to SOF_SWI, which I never paid much attention to as anything I ran across for it seemed related to the sound flap and that's what I thought SOF meant. It seems to be more in regard to RNG L, which doesn't set sport in trans, but trans can call RNG_L. Either way, low can be entered from either the physical sport button or CAN message, depending on setup, including request from EGS.
Kombi coded stock and M3 bin set for program button, D gives errors and M is OK, which we already knew. With M3 bin set for no program button and Kombi coded as stock, no errors in D or M. The error seems to stem from STATE_ETCU_PROG_INFO. On no program button, this is always 2 in gear whether D or M on M3 shifter. With the program button set in M3 bin, D = 8 and M = 2 always. I've seen nothing higher than 3 referenced in N54 docs. 1M and M3 Kombi handle 8 fine, but probably a useless value to anything else.
I added some params to log, coded Kombi a bunch of different cars/ways and also tried broadcasting 0x315 again on each to see if anything was different. After about 10 of those, I realized I was just printing the message on serial and not actually sending it on CAN SMDH.
After I actually started sending 315 for real, finally had some movement on DME readings for vehicle mode. I set for sport+ based on the log wofy linked and it does show VEH_MOD 2 on CAN, however, no noticeable change on a drive, so this is either still not getting to trans or may not be doing anything on M3 bin like amg said. Z4 bin seems to obviously use it, but probably has different logic for it. Other option may be something to do with CAS, but not sure how that would be relevant. There is definitely a checksum calc for VEH MOD 315 related to CAS per the docs though.
I have one or 2 more things to try tomorrow along with spirited, but I think I've looked under about every rock I can think of right now.