Да всё пашет. Это у тебя в программе наверно где-то косяк. Может забыл param в 1 выставить?
program RecStore;
var rs : recordStore;
countStr, modif, records : string;
countInt : integer;
index : integer;
nextId, param :integer;
begin
param:=1; modif:='TEST'; // <-- Это добавил для теста
rs := OpenRecordStore('GroupName');
nextId := GetRecordStoreNextId(rs);
if nextId = 1 then
index := AddRecordStoreEntry(rs, '123');//записываем при первом запуске 123
countStr := ReadRecordStoreEntry(rs,1);//если не первый то читаем
if param=1 then begin ModifyRecordStoreEntry(rs,modif, 1); records:=modif; end; //если нужно модифицировать
CloseRecordStore(rs);
if param=0 then records:=countStr;
DrawText(countStr, 5, 5); Repaint; Delay(5000); // <-- Это добавил для теста
end.
У меня пашет нормально. При первом запуске выдаёт 123, а при последующих TEST.