The script command seems to essentially require one to hard code an absolute path when referencing scripts. To make keys file sharing more portable, it seems as if the ~/ might be interpreted to reference the user's home directory ($HOME).
Since Windows doesn't use this notation, but perhaps it could instead reference the %UserProfile% environment variable instead.
An alternative is to default to looking for scripts in or relative to the user's crossfire folder.
Oddly, a command like 'script cfmaplog.py' gives an error message "Please specify a script to start. For help, type 'help script'." even though a script was passed. It is odd, because there is a separate message "Could not start script: No such file or directory", so something funky is going on regardless.
The GTK2 client's script system calls execvp (https://linux.die.net/man/3/execvp) or CreateProcess to execute scripts, which use the environment's PATH to search.
I use a Batch script to add my scripts folder to PATH before running the client, but a hair or two were pulled before I discovered this solution.
I think the documentation should be a little clearer on the point that the clients don't have much in terms of their own embedded scripting languages and running a script just shells out (although CreateProcess is not cmd and does not respect PATHEXT) and is influenced by PATH. It could even add an appropriate directory to its own PATH environment variable to be extra friendly.