Howdy My guess is that the value isn't getting set until after the initial postback. When you click the button, it has to make a postback in order for tha code in the click to be fired, so by the time you overwrite that postback URL, it has already happened.
You could try checking the value of the text box in the post back and redirecting based on the value of the text box:
protected void Page_Load(object sender, EventArgs e)
{
if(this.Page.IsPostBack && this.txtCustomerCode.Text == "8868"){
this.Page.Response.Redirect("~/New Referral.aspx");
}
}
Grabbing it before the postback is possible, but would mean venturing into the wide world of javascript and ajax