Oh. Hooray. Pretty sure I've just unearthed an UnrealScript language feature which just didn't work at the engine version they built Deus Ex on. (Which explains why the vending machine code works the way it does!)
It's Really Annoying that the language wasn't versioned, just sprouted (and, apparently, fixed) features as Epic went along; and almost all of the tutorials and example code are for later versions of the Unreal Tournament codebase.
ETA: whoops haha, turns out if you accidentally have two copies of a file in different folders, and you're hacking on one but trying to compile the other one, that's suboptimal from a "things working" standpoint