Уже начинаю тохонько звереть от непонимания причины. Когда программа запущена вручную, то работает нормально, но когда запускается через реестр перестаёт писать в базу, сваливается на выполнении SQL запроса. Чтение старых данных происходит нормально. Такое ощущение, что база становится ReadOnly.
Код:
if Assigned(sldb) then
begin
sldb.BeginTransaction;
try
St := AnsiString(Format('INSERT INTO maplog(date, ...'))); // обрезано для краткости
// Не выполняется при запуске из реестра
sldb.ExecSQL(St);
sldb.Commit;
except
sldb.Rollback;
end;
end;