"when the application pool is "alive" the service picks up the messages correctly, but as soon as the application pool gets recycled (because of timeout or any other reason), the service stops picking up the messages, that just sit in the queue until the service starts again by browsing to the service webpage"
Have you find a solution, to activate the service without manualy browse the service.