Thanks for all the advice everyone. It led me to give up on using boot scripts, and get Login.app to to the job, and a couple of other things, via its /etc/X11/Login.app/Login.app.initcmd script. I added to the end of this script [1]:
if [ -x /usr/sbin/sleepd ]; then sleepd --sleep-command "xset dpms force off" -u 300 sleepd --sleep-command "hdparm -y /dev/hda" -u 600 sleepd --sleep-command "apm -S" -u 900 fi
The intention is to switch off the monitor when the system's been idle for 5 minutes, put the hard drive in standby after 10 minutes idle, and put the whole system in standby after 15 minutes. The ideas of using xset and hdparm came from http://www.imaclinux.net/gh.php?single=7.
This works, in the sense that it gets the required processes running, although so far, I've only had the patience to check that the monitor one does what I intended.
[1] This script is also in sh. Comments in one or two of the boot scripts suggest that they've been converted from bash to sh. I am prepared to speculate that this has been done to comply with some kind of standard, and that the standard in question could be Debian policy.