Many crashes in SRCDS/HLDS just freeze the application, they don't cause it to close. FireDaemon can't detect when this happens, so it doesn't restart it because to FireDaemon, SRCDS is still running.
Another kind of crash throws up an Error Popup that FireDaemon can't detect. For these kind of crashes, we suggest you go here and follow those instructions.
If none of the above fix the issues you have, then try running a FireDaemon service for Error Killer. Find more information on Error Killer here.