Por el comportamiento parece que se esta truncando con enteros mayores a 4 bytes. Y esto puede ser por que no le estas diciendo a Mysql que quieres solo valores positivos.
Código PHP:
Ver original/**
* @var bigint
* @ORM\Column(name="codigo", type="bigint", options={"unsigned" = true})
*/
private $codigo;
Crea una prueba de unidad y persiste la entidad pasando diferentes enteros incluyendo el limite:
http://dev.mysql.com/doc/refman/5.0/...ger-types.html
Si todo esta bien, entonces revisa tu formulario.