The recommendation by javlacalle of using the option log=TRUE inside dnorm, instead of taking the log afterwards, is excellent and probably the best practice when working with mle or mle2.
I had a similar issue where I was sometimes having a warning of "couldn't invert Hessian" and getting NaN values for the associated standard errors of the estimated parameters. Doing the sum of dnorm(log=TRUE) terms instead of taking the log of the product of dnorm terms solved my issue.