Hola paladincubano, yo utilizaría un StringList para llenar los Id.
En el momento en que llenas los datos en tu ComboBox
Código Delphi
[-]
sl: TStringList;
begin
sl:=TStringList.Create;
Query.First;
While Not Query.Eof do
begin
ComboBox.Items.Add(Query.FieldByName('pais').AsString);
sl.Add(Query.FieldByName('IdPais').AsString);
Query.Next;
end;
Ahora en el momento que quieras recuperar el codigo, solo sería acceder al StringList en la posición en la que esta tu ComboBox.
Código Delphi
[-]
showmessage(sl[ComBox.ItemIndex]);
Pero también puedes utilizar un BDLookUpComboBox.
Saluditos