It works....
And I compiled a version with the #define_tft uncommented, plus a few serial.println statements in the source, just after if param0="load", which also works, and using an #if define_tft shows is, and correctly prints both the basic program line and param1 correctly.
I don't understand why this should work now, when it wasn't before. Something subtle here....