I just tried to invoke cdrecord on a new Linux machine, to see if I can burn CDs. Following instructions found on the Web, I compiled a kernel with SCSI and SCSI emulation support (note that SCSI support must be enabled before you can even select SCSI emulation support when you do a make config), I added the obligatory append="hdd=ide-scsi" to lilo.conf, and I was able to mount /dev/scd0. However, cdrecord -scanbus stopped with an error.
The problem: cdrecord requires that you also add SCSI Generic support to your kernel. Recompiling the kernel with that option enabled solved the problem.