I'd stick with the global variable /sets, changing them to /set -e (unsets when client is closed), and check if the variable has been initialized yet. Such that a version reply is selected at random the first time you are /ctcp versioned, and the same reply is sent for the entire session of multiple version requests.
Sending a different reply seconds apart will only prove you're faking it.