On the sound front, the SE Basic way of dealing with the AY is pretty trivial to compile (and thus cross-compile to the CPC and MSX) as it's basically just a string of register values. SE Basic itself supports two different address systems for the AY (the 128 and the Timex machines).
SE Basic is also focussed on the 48K machine and doesn't know about extra RAM. It will use the AY if it is present, and the ULAplus features. The ULAplus palette is derived from the MSX so again there's a good chance for overlap.
The SE Basic commands that I think it would make sense to add to the compiler are:
CALL (to call a machine code routine)
CHRSET (to set the character set size in bits (7 or
- determines if tokens are printed)
ATTRP (to set the permanent attribute)
LDIR (the m/c block copy command)
ON ERR (errror trapping ... mainly for INPUT and file I/O)
PALETTE (set the ULAplus palette, but could support CPC and MSX too)
SOUND (based on the T/S2000 BASIC command)
I'm guessing some of those might be in there already along with the ability to enter numbers as hexadecimal. If you add ULAplus support then adding hexadecimal would be helpful.
The other side is being able to run the compiled code on SE Basic. I haven't looked closely at the compiler so I don't know if you're calling any ROM routines or not. SE Basic is pretty stable at 2.21 so if it works on that it should work on future versions.