Абсолютно дебильная ошибка.
При чтении ини файла sProgPath еще не была считана, соответственно путь к файлу был просто "options.ini". При записи путь был уже правильный.
Код:
iniOpts := TiniFile.Create(ExtractFilePath(ParamStr(0))+'options.ini');
Утро вечера мудренее)
(но меня все еще смущает, почему читались первые строки...Ну, если не указывать путь к файлу, то он будет искаться в %systemroot%... но откуда он там взялся?..)