в соответствии с правилами массивов в паскале: индексация с единицы
Это строки всегда индексируются с единицы. Для массивов же нет такого правила. Как раз наоборот, динамические массивы и
открытые массивы параметров всегда нумеруются с нуля.
Да и для статических массивов лучше придерживаться этого правила (если только нет какого-то специфического требования в конкретном случае).
А чтобы не держать в голове, как там массив индексируется, используйте вот такую конструкцию:
for n := Low(source) to High(source) do
writeln(source[n]);