Ну как и ожидалось, два вызова Execute.
Если я правильно понял, то вся эта чехарда затеяна для выбора существующего файла? Тогда вам просто надо сделать так:
Код:
OpenDialog1.Options := OpenDialog1.Options + [ofFileMustExist];
if not OpenDialog1.Execute then Exit;
// Далее идет ваш код для работы с выбранным файлом
ПС: и еще один советик. Добавьте строчку:
после