You are touching on a structural limitation of Android, and that is why all the examples in the B4A forum behave the same way: standard speech recognition (SpeechRecognizer) cannot be restarted automatically after a failure or a “No speech detected”, because Google requires user interaction to restart listening.
It's a continuous anti-eavesdropping protection imposed by Google.
You could restart automatically with a timer.
Even if Android blocks an immediate restart, you can restart it after a short delay (300–800 ms).
The most robust method would be to use a service with continuous listening.
Automatically restart the onError event and maintain background listening.
This is the technique used by voice assistants (Jarvis, etc.).