Does the say command not work in my example because it was missing the colon. or is it just the whole command.
Because of the missing colon, the second one would say "The command has repeated INTrepeatcount times", because if text between curly braces doesn't match a known token the braces will be stripped.
In this particular case there isn't much of a difference between writing to the log and having TTS speak it; The token should be processed and replaced with the value of the variable, and the rest is static text.
It should work in either form(if the token syntax is correct), from what I can see.
For future reference if it didn't work were you asking for the whole profile or just the whole command.
That depends; If the full command by itself works on my machine the entire profile could be necessary, or even the entire profile database file.
Because what you're posting appears to be a valid command, it should work, so if it doesn't work it could be an undiscovered bug, which should be fixed if possible.
There are no guarantees, however; People have had issues with various commands in the past, and rebuilding them the exact same way fixed it for them, but the cause for that sort of thing is really hard to track down without the exact conditions that led to the issue in the first place(Almost up to and including the phase of the moon and the amount of solar radiation at the time