No sé si servirá, pero podrías hacer el trabajo en un timer y quitar el doevents a ver...
Añades un timer con interval = 10 o algo así, y en lugar de tu código pones:
Timer1.Enabled = True
Y luego metes este código:
Código :
Ver originalPrivate Sub Timer1_Timer()
Timer1.Enabled = False
Call Muestrea_Tarjeta_Sonido()
Call Procesa_Muestras()
Timer1.Enabled = True
End Sub
Quizá entre timer y timer evites que se cuelgue windows sin doevents. Por probar...