Ok, da zeigt sich, dass ich kein Webentwickler bin. Aber dennoch möchte ich kommentieren, dass ich dieses kontraintuitive Verhalten äußerst dämlich finde. Wenn ich a gleich b setze, erwarte ich, dass a im Nachhinein auch gleich b ist. Wer auch immer dafür verantwortlich ist, sollte sich in Grund und Boden schämen.
Da wären wir wieder bei kontraintuitivem Verhalten. ;) Dass du da das Pferd von hinten aufzäumst, fällt beim ersten Blick nicht auf. Was man da erwartet, ist, dass replaceString auf ein Vorkommen von replaceAttr überprüft wird (in welchem Fall eben eine Ersetzung stattfand). Wenn du wirklich die beiden Strings auf Un- bzw. Gleichheit überprüfen willst, wieso nicht einfach != bzw. == benutzen?
Alles was du nach dieser Seite beachten musst, ist wie Cookies gesetzt werden, also zum Beispiel, dass zur gleichen Zeit nur ein Wert gesetzt werden kann und ein bestimmtes Format eingehalten werden muss. document.cookie gibt ja immer noch einen vollwertigen String zurück, der aber natürlich etwas anders aufgebaut ist, als du gedacht hast.