The problem I see is that existing scripts that make use of suspendplayer are quite likely to break if you enable mouse controls, because hero movement will no longer stop promptly, so people can't just enable that option in their games. (It would also be nice to give players the option to override-enable it in existing games without the game needing to be updated.) For example you might have a step-on NPC to start a cutscene when the player enters an area. With mouse controls the hero could keep walking right across the area.
Making suspendplayer act this way also means scripts can be shorter and similar: one less command to have to remember to write.
So yes I would argue for making suspendplayer cancel pathfinding not caused by a script, and add a separate command (maybe "suspend controls" or "suspend player no cancel") that's the same but doesn't cancel pathfinding. (suspend controls may be a poor name, because suspend hero doesn't disable menu or textbox controls). Or even give suspendplayer an argument.
"cancel npc/hero walk" (the hero version isn't implemented yet) doesn't pause movement, it cancels it.
Commands to pause npc/hero movement would be particularly useful with pathfinding. Would probably need an argument to say whether the hero/npc should stop immediately, or finish the current tile's movement, in order to end up aligned.
Pepsi Ranger wrote: if the script can only continue if it reaches the destination and then can't reach a destination, that's a problem if you've got a wait tick before canceling counting down to 1000
If I understand correctly, that would be a bug in the script; you need to allow that the destination might be unreachable. Use "while(hero is walking)" instead.
This is probably badly conceived, but the gist is that if your pathfinding via mouse cancels due to obstruction or unclear path, and then the script moves the obstacle out of the way, a "repeat last mouse action" would essentially repeat the last command issued by the player without requiring a new click.
Should probably handle this at the time that the player first clicks, checking if they clicked on an inaccessible tile (there'll be a command for that).
We should add new script triggers for when the player attempts to move the hero either with arrows arrows or by clicking, so that you can hook into those actions directly instead of needing an on-keypress script. Hooks is something the engine does badly at the moment.