There is a good reason for validation stopping! It tells you that even though the training set error is decreasing, the nontraining validation set error (and possibly, the nontraining test set error) is increasing!
Since you design a network to use on unseen data, it doesn't make sense to continue training.
There are several options:
1. Increase the MSEgoal. I usually don't find it necessary to have mse(error) < 0.01*mean(target variance). Because at that point, the net is already modeling 99% of the target variance averaged over all outputs.
2. Increase the MinGrad goal. I usually don't find it necessary to have the gradient less than MSEgoal/100.
3. Increase MaxFail above 6. I NEVER do this. I don't want a net that can't perform well on nontraining data.
4. Use trainbr which uses Bayesian Regularization (See Wikipedia and trainbr documentation)instead of validation stopping. HOWEVER, I have read recent journal articles that show the best performance on complicated real-world nets occurs when both are used simultaneously.
5.Change the initial state of the RNG to get different initial weights and data division. I tend to use this frequently. It is not unusual for me to try ~10 values for hidden nodes AND, for each value, design 10 nets from different random initial weights and data divisions.
I have a zillion posts in the NEWSGROUP and ANSWERS illustrating this double for loop approach. Good search words are
Hope this helps.
Greg