Sim, quero saber só quando muda. Neste caso não dá para ter a leitura dentro de um loop porque ela só pode ser feita uma vez, quando o utilizador manda fazer a amostragem. Se o bloco de amostragem de som tivesse uma saída "Busy" ou coisa assim, seria trivial...
Enfim, de qualquer maneira obrigado pela ajuda! Metendo um loop, mas fora do bloco de leitura, realmente isto já funcionou.

Os contorcionismos mentais que é preciso fazer para atingir metas tão simples!
[edit] Acho que vou (mas só amanhã, que hoje já é tarde) transferir esta embrulhada do loop para um sub-ficheiro próprio, para poder reutilizá-lo caso precise.
