Remove the negative sign from your original command:
rec /tmp/recording.flac rate 32k silence 1 0.1 3% 1 3.0 3%
When the "below count" is negative, the silence command will trim all silences from the middle of the file. When it's positive, it trims silence from the end of the file.