Your error is because it's "elseif", not "else if". No user has OP status when they join a channel, OP status is given after joining the channel. You could call an alias to check their status before version.
on *:JOIN:#help: {
$+(.timerVersion.,$nick) 1 5 CheckVersion $nick #
}
alias CheckVersion {
if ($1 !isop $2) ctcp $1 version
]