実行しようとしています (try ブロックで、catch はありませんが、finally があります)
HttpContext.Current.Server.Execute(child1, tw, true);
子ページは次のいずれかを実行しようとします。
context.Response.Redirect(child2.uri.ToString());
handler.ProcessRequest(context); //context has had items added to update querystring
context.Server.Transfer(child2.uri.ToString());
コントロールが元のページに戻ることは期待できますか? コードが (たとえば) Server.Transfer に到達すると、finally ブロックの元の親ページに戻ります (ただし、Server.Execute の後のコードはすべてスキップされます)。
注意として、最初の子ページは、単純にリダイレクトすると正常に機能しますが、Cookie を渡してログイン バリア (Server.Execute で回避しようとしている) を通過する必要があります。
これらのネストされた実行、転送、およびリダイレクトの予想される動作は何ですか?