Try checking the '/etc/default/boot' table for an entry of 'TIMEOUT'. If there is one there and it has a value, it will affect the wait time at the 'cntl-d' prompt.
The default timeout is 60 seconds before autoboot kicks in, but if TIMEOUT is set to say 1, then the prompt will come and go before you have a chance to respond. It will just automatically start the multi-user load. Set this to a minimum of 20 - 30 seconds, and you'll have a chance at single user.
Worth a look anyway.
'man boot' from the command prompt for a further explanation.