Briefly, I note that you don't have an option to set a different pid file for /usr/sbin/dhcrelay
In this case the pid filename is specified by dhcrelay and doesn't seem to be an option you can pass to it, maybe it can be configured in a config file. It _might_ turn out to be a compile option only in which case you'd need 2 versions of dhcrelay installed.
The daemon command will be a function in a script called (or sourced) by the init script. One of the things it does it correctly detatch the spawning process from the parent shell. Where this is depends on your OS but should be easy to find by examining the init script so you can check out what it does.
I don't see a reason why removing the deamon call should solve the issue unless it handles the pid file stuff, which would not be normal from my experience.
I apologize for the lack of detail in this but sadly I don't have time for a more thorough analysis
