I think you want to do something like this instead (assuming you don't have viewstate turned off):
If Not Page.IsPostBack Then
Dim sqlCust As String = "SELECT CUSTCODE_T, CUSTNAME_T FROM CUST_MASTER"
Dim dt As DataTable = DBLayer.Util.Data.MsSql.DBFunction.BuildDataTable(sqlCust, DBLayer.ClsConnection.getConnString("MP_QFMS"))
Me.ddlCust.Items.Add("--Select--")
For Each dr As DataRow In dt.Rows
Me.ddlCust.Items.Add(new ListItem(dr("CUSTNAME_T"), dr("CUSTCODE_T))
Next
'No need to DataBind() since you're adding the items manually
'Also lose the DataValueField, since it's used in DataBind, which you're not using
End If
OR:
If Not Page.IsPostBack Then
Me.ddlCust.DataTextField = "CUSTNAME_T"
Me.ddlCust.DataValueField = "CUSTCODE_T"
Dim sqlCust As String = "SELECT CUSTCODE_T, CUSTNAME_T FROM CUST_MASTER"
Dim dt As DataTable = DBLayer.Util.Data.MsSql.DBFunction.BuildDataTable(sqlCust, DBLayer.ClsConnection.getConnString("MP_QFMS"))
Me.ddlCust.Items.Clear()
Me.ddlCust.Items.Add("--Select--")
Me.ddlCust.AppendDataBoundItems = True
Me.ddlCust.DataSource = dt
Me.ddlCust.DataBind()
End If