Perché invece di usare il comando validate non usi un:

If txt_password.text = " " then
MsgBox = "Invalid password. Insert password"
End If
.... perchè l'evento validate funziona in modo corretto se clicco sul pulsante ok senza aver immesso nessun valore...( e il comando if viene utilizzato all'interno dell'evento validate.)

è invece il pulsante annulla che non funziona correttamente anche se ho messo la proprietà causevalidation = false

( se l'utente vuole anullare l'operazione è corretto che deve poter anullare senza problemi .... )
ciao