There may be some additional things to consider when using gr-trellis:
The fsm class does not understand bits. It understands input symbols and output symbols.
Your fsm has binary input symbols and quaternary output symbols.
So the encoder gets L input bits and produces L quaternary symbols (if you are wondering why, please read the gr-trellis documentation to see the design philosophy).
For the VA to work you have to provide L (noisy) quaternary symbols at the input.
I attach a modified version of the tcm.grc example (in the gr.trellis/examples/grc/tcm.grc)
that shows that the VA works perfectly (0 BER) with your encoder.