Make sure /etc/rc.local is executable and that the script it calls is also executable.
$ ls -l /etc/rc.local
-rwxr-xr-x 1 root root 419 2010-08-27 11:26 /etc/rc.local
Make sure rc.local has a shebang line (which is the default):
$ head -n1 /etc/rc.local
#!/bin/sh -e
|