Direi che l'errore segnala il giusto.Shell("shutdown -s -t -f", "& num &")
Non capisco il fatto di inserire il carattere di concatenazione di stringhe & all'interno di una stringa, a meno che non sia richiesto dal parametro (cosa che dubito)
Prova così:
Ciaocodice:Shell("shutdown -s -t -f", num)
P.S. Questo non è VB6, ma VB.NET!!!