Hardly anyone is going to wade through all the code and/or set up an environment where they can actually try to replicate the issue themselves. So, to get more useful replies, you might want to add some more meta info, for example, what you've tried so far to debug the issue, and the results of those steps. Simple things like: does the daemon actually start and keep running when you invoke it via init.d, or does it die? What (if anything) gets written to the syslog? Any other error messages? Etc.
The environment the deamon runs in could be different depending on the way you start it, which might lead to stuff not being found, or similar... Those ideas might seem trivial to you, but as you haven't said much about them, it's hard to tell whether they really are... Thus this reply :)