Судя по всему это происходит из-за слишком быстрого срабатывания кода, так что не успевает смениться системное время на которое опирается randomize().
Пример проблемного кода (проверяли в Lazarus 2.0,10 в т.ч. в Ubuntu LInux):