çalışmaması birkaç neden olabilir. başka arkadaşlarında dediği gibi bütün sayfaların en üstünde
ob_start(); olmalı. Ayrıca deme esnasında sorun varmıdır bilmem ama birkereliğine bütün sessionları silin (session_destroy()

sonra tekrar deneyin. Ayrıca header fonksiyonundan sonra exit(); kullanın.
Örnek:
header('Refresh:5; url=odeme.php?durum=3 ');
exit;
Ayrıca burada açıklamışlar istersen incele. İngilizce içeriktir.
http://nimishprabhu.com/header-php-r...x-seconds.html
hocam bu dediklerinin hepsini tek tek denedim çözüm olmadı. Ben şahsen sorunu bulamadım. Ama olsun sayenizde php tıkandığı zaman başka dillerle çözüm bulmam gerektiğini tecrübe etmiş oldum.