I'm running CentOS 4.8 in a Virtualbox VM. I usually boot to runlevel 5 by default, but I changed it to 3 to try this and it seems to work okay; I press "i" at the "Press 'I' for interactive startup." point in the boot process, it seems to continue through the initial startup scripts, but after the "INIT Entering Runlevel: 3" it says "Entering interative startup" and prompts to "Start service microcode_ctl (Y)es/(N)o/(C)ontinue? [Y]".
What happens for you?
Alternatives are to add "confirm" to the kernel command-line in grub, or as pentode suggested, boot to single-user then touch /var/run/confirm ; init 3.
Annihilannic.