After asking around on the CGL mailing list, I found out that the reason the above was not working. I'm posting it here for the benefit of those who might encounter a similar problem.
The reason this was failing was because Symphony is an MILP solver and since the Gomory cuts generated by CglGomory are generated from a simplex tableau, the OsiSolverInterface needs to be to an LP solver like Clp (the interface class for which is OsiClpSolverInterface).
In particular, for the code above, making sym an instance of OsiClpSolverInterface would work.