Ho visto che gli stessi comandi di vb6 si possono applicare anche a vb5, quindi ho trovato questo che funziona :
su RIFERIMENTI in ambiente di sviluppo aggiungere Microsoft Speech Object Library
sul modulo di codice inserire "Dim voce As SpeechLib.SpVoice"
nella routine dove deve parlare inserire
Private Sub Vocale()
Set voce = New SpVoice
voce.Speak z$
Set voce = Nothing
end sub ()
in questo modo tutto funziona senza mai generare errore.
l'unico problema è che se mi collego con desktop remoto da un altro computer a questo che parla, si genera "errore di automazione" come se l'oggetto SpVoice non fosse correttamente inizializzato.
ho rimediato a questo inconveniente settando i parametri sul desktop remoto, lasciando l'audio sul computer originale. ora non dà più problemi.
ciao