Your empty and full flags works 1 cycle delayed. Use these condition flags combinational as
assign full = count == DEPTH-1; assign empty = count == 0;
assign full = count == DEPTH-1;
assign empty = count == 0;
your problems will be fixed.