When a job that uses GDG generations is restarted, all references to a GDG relative generation (e.g. +1, -3) will cause the DD statement to reference the same physical file as the original job. The only time that this will not be true is where the processing of the original job (or of other jobs that were run after the original job) has caused the GDG generation to be rolled off, scratched, or deleted.
When a restarted job contains GDG datasets and restart information has been enabled for GDGs, then information about the original high version number and, for GDGs that have a rollover disposition of EMPTY, the empty count is restored when the job is restarted. The JCLCM0945I and JCLCM0946I messages give details of the changes. [1]
In the case of most mainframe jobs there will be no issues but you should be aware of the following scenarios: