Você provavelmente tem vários problemas aqui:
1) expect fork
. A seção Script continua esperando por um fork e fica parada esperando por ele.
2) O servidor não está chegando. A seção de script de inicialização é executada como root
e não possui todo o ambiente. Você diz que funciona se você colar na linha de comando, porque você não é root e tem ambiente.
Se for esperado que o mono seja bifurcado para real, então também será corrigido 2 correções 1. Caso contrário, remova expect fork
.
Veja o Cookbook Upstart no link para trabalhos do usuário, isso provavelmente resolverá seu problema 2.