I'm a big fan of the newrat optimiser that comes with Dynare 4 (options: mode_compute=5). It's found the mode for some nasty models where nothing else has worked.
Just thought I'd mention a possible bug, though. Its subroutine DsgeLikelihood_hh failed at line 224, because the variable LIK wasn't defined. This occurred when kalman_algo was set to 2, and H was zero. Should line 220 read "elseif (options_.kalman_algo == 2 || options_.kalman_algo == 3)"?
Jamie