Hast du mal mit "What the file" gecheckt ob wirklich das richtige Template genutzt wird?
Kannst du per var_dump die ID ausgeben, um herauszufinden ob die richtige ID im Template ankommt und nur die URL-Erstellung das Problem ist?
Kannst Du (auszugweise) den Code posten, der relevant ist? Registrierung des CPT, Ausgabe im Template ...
Das wären gerade so meine spontanen Ideen.
Gruß, Torsten