TextBox.AutoPostBack を true に設定すると、ASP.NET が TextBox を html にレンダリングした際、以下のように onchange 属性にポストバックするための JavaScript の関数 __doPostBack が設定されます。
<input name="TextBox1" type="text" onchange="javascript:setTimeout('__doPostBack(...)', 0)" ... />
質問者さんのケースでは IE8 によるオートコンプリートの選択では <input type="text" ... />
の change イベントが発生しないことが問題の原因だと思われます。実際、古い IE では以下の記事にあるように change イベントは発生しないそうです。
The TextChanged event of a TextBox control may not fire
if the AutoComplete feature is enabled in Internet Explorer
https://support.microsoft.com/en-us/help/873198/the-textchanged-event-of-a-textbox-control-may-not-fire-if-the-autocom
IE AUTOCOMPLETE DOESN'T FIRE ONCHANGE EVENT HANDLER
http://phdesign.com.au/programming/ie-autocomplete-doesnt-fire-onchange-event-handler/
(注:上の 2018/12/10 23:07 の私のコメントで述べたように自分の環境の IE11(Windows 10 Pro 64-bit バージョン 1809, IE11 バージョン 11.134.17763.0)ではオートコンプリートの選択で change イベントが発生します。どの IE のバージョンから変わったのかは調べてません)
対策は、上の後者の記事あるような裏技的なこと(blur にリスナをアタッチしてそれで change を fire)をするか、IE11 を使うということになると思います。
ただ、TextBox ということはユーザー入力でしょうから入力の検証は必須で、RequiredFieldValidator, RegularExpressionValidator 等を使うことになると思いますが、クライアント側での検証に問題が出るかもしれません。
実際、自分の環境の IE11 で AutoComplete と AutoPostBack の両方を有効にして試してみましたが、クライアント側での検証はかかりませんでした。(サーバー側での検証はかかります)
なので、後者の記事のような裏技的なことを試してみて、クライアント側での検証に問題が出ないかを確認し、確認出来たらそちらの方向に進むということになると思います。(そこまで試してないので可能かどうかは不明ですが)
個人的には、正解は AutoComplete または AutoPostBack のどちらかを諦めることだと思います。