クラシック ASP はほとんど何も知らない自分がレスするのもなんですが・・・
フラグメントがある場合にブラウザが Web サーバーに要求をかける仕組みですが、質問者さんが行った、
URL(AAA.asp#bbb)を直接アドレスバーのところに入力して、実行すると、正しくbbbのところに飛びます。
というケースでは、ブラウザは Web サーバーには AAA.asp を GET 要求します。#bbb はブラウザが Web サーバーに送信する要求には含まれません。ブラウザでその情報を保持しています。
Web サーバーから AAA.asp 要求に対する応答がブラウザに返ってくると、ブラウザはその画面を表示しフラグメントの位置 #bbb にスクロールするという動作になります。
Response.Redirect "AAA.asp#bbb" とした場合、Web サーバーからリダイレクト指示(HTTP/1.1 302 Found)が返ってきて、応答ヘッダーに含まれる Location が AAA.asp#bbb となっていれば、そのリダイレクト指示を受けたブラウザは上記の動作をするはずです。
なので、疑わしいのは、応答ヘッダーに含まれる Location が AAA.asp となっているのではないかということです。
キャプチャツールを使って、要求/応答(特に Location ヘッダ)を調べてみることをお勧めします。IE の F12 開発者ツールでも調べられますが、Fiddler が使いやすいのでお勧めです。
Fiddler のお勧め
http://surferonwww.info/BlogEngine/post/2011/05/25/Recommendation-of-Fiddler.aspx