この問題は、PHP が Cookie を処理する方法に関係しているのではなく、Cookie の仕組みを理解していることに関係していると思われます。(あなたのコードを見なくても、これは完全で完全な憶測です。)
要するに、Cookie データはページの読み込み時にのみ発生する HTTP ヘッダーの一部として送信されるため、Cookie はコンテンツがブラウザから送受信されるときにのみ設定/読み取りされます。そのため、行った変更を確認するには、ページを再読み込みする必要があります (単純に 'x' 秒待つのではなく)。
いくつかの詳細に関して:
Cookie を設定すると、これは Web サーバーからのアウトバウンド HTTP 応答でブラウザーに送信されます (その後、それに応じて保存されます)。
Cookie を読み取るには、上記のように事前に設定されている必要があります。この場合、後続のブラウズ URI リクエストの一部として Web サーバーに提示されます。
Cookie の削除は設定と同じルールに従うため、Cookie はブラウザからの後続のリクエストでのみ利用できなくなります。
ちなみに、[INSERT YOUR BROWSER OF CHOICE HERE] の開発者ツールを使用して上記を簡単に確認できます。リクエスト/レスポンス ヘッダーを表示するだけで、Cookie データが表示されます。