Si la variable INI está (que debería estar ahí) en variables globales, después no tendrías que volverla a poner en el OnCreate.
Al cerrar el programa (OnClose u OnDestroy) deberías poner Ini.Free;
En cuanto a lo otro, te equivocas al decir que no varían durante el programa, por varios motivos:
-Sí varían, al leerlos del archivo haces una asignación: moneda:=algo;
-Si declaras esto:
Después no podrás hacer esto:
Seguramente ese error que te aparece (y que tendrías que habernos dicho para saber qué te pasaba) es eso, que no puedes asignar un valor a una constante.
Salu2.
Edito: el error que te aparece se debe a que no se puede hacer esto:
Código Delphi
[-]
const
moneda = INI.ReadString( 'DIVISAS', 'Nombre', '' );
porque lo de la derecha no es una constante. Y aunque se permitiera, eso se almacena directamente en el ejecutable como un valor, no da cabida a generar objetos ni nada.
Ten en cuenta que una cosa es que algo sea (o deba ser) constante en tu programa, y otra cosa es una constante en prorgramación.