The Black Caps thrashed England's bowlers for quick runs to leave the hosts facing a record chase to win the match.
But England, set a huge target of 455 for victory, were 44 without loss when gentle but persistent rain stopped play.
In all, only 29 overs were possible on Monday -- 13 in England's second innings -- before the umpires called off play for the day at 4:59pm local time (1559 GMT).
Adam Lyth, who scored a maiden Test hundred in the first innings, was 24 not out on his Yorkshire home ground.
Also Read
England captain Alastair Cook, who in the first innings became England's highest run-scorer in Tests, was unbeaten on 18.
Earlier, New Zealand flayed the new ball all over Headingley as they extended their overnight 338 for six to 454 for eight declared.
England were left needing 455 for victory, with the most any side have made in the fourth innings to win a Test the West Indies' 418 for seven against Australia at St John's, Antigua, in 2002/03.
England's corresponding record is 332 for seven against Australia at Melbourne back in 1928/29.
When McCullum declared, there were 171 overs left in the match but Monday's rain all but ended England's slim hopes of victory, with a New Zealand win or a draw now the two most likely results.