Calculated Properties, Text Labels and Layers (anything else get calculated automatically ?), are all susceptible for getting caught in loop detection trap, where the loop protection kicks in repeatedly, preventing the module from being used. At the moment this can occur as soon as the user dismisses the pop-up box showing the infinite loop error message.
Is it possible that Vassal could instead, after generating the first loop warning, mark the suspect trait to be ignored and not put up any further loop warning until some user input that changes the game state has occured? Any toolbar button, movement or piece command action, perhaps. This would at least give the user a fair change of recovering the error without having to kill the Vassal player process.