Bueno ... ya he encontrado la solucion, la pongo por si alguien quiere saber como se hacia.
Código Delphi
[-]
var
Nivelusuario: tstringfield;
begin
Nivelusuario := TstringField.Create(self);
Nivelusuario.FieldName := 'Nivelusuario';
Nivelusuario.DisplayLabel := 'Nivelusuario';
Nivelusuario.DataSet := DataModule1.adotemp;
Nivelusuario.Name := 'Nivelusuario';
Nivelusuario.FieldKind := fkData;
DataModule1.adotemp.Fields.Add(Nivelusuario);
DataModule1.adotemp.FieldDefs.Update;
end;
Un saludo a todos