why separate them? why not combine it like this?
IF(CLRn='0')THEN
underflow_pulse_out_1<='0';
underflow_pulse_out_2<='0';
ELSIF(rising_edge(CLK))THEN
undeflow_pulse_out_1<=underflow_pulse_in;
undeflow_pulse_out_2<=underflow_pulse_out_1;
END IF;
Now, this is again only a code snippet (can you please post the whole file, then we can simulate/look at it (feel free to PM it). I assume the other two lines are outside a process?
If you were to reset the counter on just the underflow signal, then you will avoid the FF line of the counter. But we need the whole code to see where the problem actually is.