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