on *:INPUT:*:{

if (v1 isin $1-) || (v2 isin $1-) || (v3 isin $1-) {

/vcmdsound move this to the end of the first section
you are calling the alias before setting the "v number" whjich is why it works the Second time

haltdef

set %soundorgtext $1-

var %omgtheinput = $1-
<--- here is ok is my guess
var %omgtheinput = $replace(%omgtheinput,v37,11Are you crazy?)

<--- here is ok too
msg $active %omgtheinput

}
<--- here is OK too
}