Da scheint ein Missverständnis vorzuliegen.
Naja ... für ein Missverständnis muss etwas falsch verstanden worden sein. Es mangelt aber an dem „etwas“, welches ich falsch verstehen konnte. Denn Du hattest nichts dazu geschrieben, von welchem Client aus das Cookie auf welchem Server ankommen und ausgewertet werden sollte.
Das ist dann auch ein Punkt, an man (ausdrücklich inkludiert: ich selbst) sich selbst bei Test sehr häufig selbst ein Bein stellt - denn das gezeigte Skript hätte in Variante B nicht funktionieren dürfen, wenn Variante A nicht funktioniert hätte. Ich vermute also, das Cookie war nicht vorhanden. Und an einen Bug von PHP will ich hier so früh nicht glauben.
Neben dem „Servermitschmatsch“ wäre noch HTTP / HTTPS-„Crossing“ eine mögliche Ursache für fehlschlagende Tests - obwohl das Skript selbst funktioniert.