I had a similar situation, but due to other unreasonable restrictions, I could not use crontab. I actually had inittab call screen. ( replaced some names to obscure information):
XXX:5:respawn:/bin/su - useraccount -c "screen -D -m -c /home/xxxxxx/file.screenrc"
In 'file.screenrc' is where I setup a few options:
sessionname obscuresessionname
multiuser on
cd
screen /home/xxxxxxx/programtostart
This way it started on boot, and if the program died or screen closed it would re spawn. It may not have been considered conventional, but I had to work a round a few odd environment requirements. If we needed to take it down though, we would have to comment that line out, and kill session. Then when ready to bring it back up, uncomment, and init q.