191氏がまだ見てるかどうか知らんが、191のシチュエーションだと、
フラグを立てる代わりにフラグをトグルして、トグルされたフラグを
clk2のFFで2回たたいて同期化し、そのあとflagのエッジ検出して処理開始すれば確実だよ。
異なるクロック間で処理開始の伝達はよくある事なので、俺はこれ専用の回路を
モジュール化(IP化)して使いまわしてるけど。
修正案↓
reg flag;
reg [2:0] flag_sync; //flagのclk2同期化とエッジ検出用レジスタ
always(posedge clk1 or rst) begin
 if(rst) flag <= 0;
 else begin
  if(エラー) flag <= !flag;
 end
end

always(posedge clk2 or rst) begin
 if(rst) xx
 else begin
flag_sync <= {flag_sync[1:0],flag} //flagをclk2に同期化
  if(flag_sync[2] != flag_sync[1]) begin //エッジ検出
   なんか一度だけのことをする。たとえばエラーメッセージをバッファに入れるとか。
  end
 end
end