Since the backup job has already stored a full copy of the VM in the repository, is there an option to use the repository only instead of creating a snapshot and replicating the most recent state of the VM? It appears this would be the behavior if CBT is not available, but I would like to make this the default without disabling CBT. This will prevent a snapshot being there for a long time in the event of long-running replication.
The source backup proxy reads the VM data from the read-only VM disk and copies it. During incremental job sessions, the source proxy uses changed block tracking (CBT) to retrieve only those data blocks that have changed since the previous job session. If CBT is not available, the source proxy interacts with the backup repository to obtain replica metadata, and uses this metadata to detect blocks that have changed since the previous job session.
Replica seeding is not needed.
Create a Replica Job and select as source the backup target. This will create the VM out of the last backup restore point. Later you can just remove the repository source setting.
In my source repositories for the replication job, I have already selected "From backup files (latest VM state available in backups)", but it still snapshots the source VM before replicating it. I assume turning on off change block tracking in advanced settings would prevent this from happening, but what are the consequences of this? Longer replication times? Inability to do incremental replication?
If you replicate from backup then your VM shouldn't be touched at all by Veeam; regardless of the CBT state. If there's no restore point available you should get a warning instead of having the job replicating from production.
If you did select the correct repository and have a active backup job configured for the VM, then I would suggest to contact support.