Hola Ignacio Gentile, tu codigo para añadir y recuperar objetos de tu ComboBox esta bien, el problema es que solo estas creando un objeto de TEmpresa (por eso solo se va modificando los valores que tiene y al final queda con los datos de tu ultimo registro, osea todos los items de tu combobox apuntan al mismo objeto), debes crear tus objetos de TEmpresa dentro del For.
Código Delphi
[-]
frmTablas.tblEmpresa.First;
for i:= 0 to frmTablas.tblEmpresa.RecordCount-1 do
begin
nuevoItem := TEmpresa.Create;
nuevoItem.id := frmTablas.tblEmpresa['cod_empresa'] ;
.......................................................
.......................................................
.......................................................
end;
Saluditos