Bueno me respondo a mi mismo ya que debido a no revisar bien la forma en la que obtenía las claves me estaba dando ese error.
El orden que se debe usar para poder sacar el valor de una clave seria:
ReadSections //para que devuelva todas las secciones a un TStringList
ReadSection //que devolvera las claves de la correspondiente seccion y los metera en otro TStringList
ReadString //finalmente devuelve el valor de la calve
pero mejor pongo el ejemplo
Código Delphi
[-]
var Secciones,Claves:TStringList; valor:String;
begin
Secciones:=Tstringlist.create;
Claves:=Tstringlist.create;
MyIniFile.ReadSections(Secciones); MyIniFile.ReadSection(Secciones.Strings[0],Claves);
valor:=MyIniFile.ReadString(Seciones.Strings[0],Claves.Strings[0],'');
end;