Hi,
I don't know your view model, but I think these are the reasons:
ad 1) You're binding your text box to the property CustomerName of your view model. I guess that this property returns the name of the property SelectedCustomer. Therefore the textbox shows the name of the selected item.
ad 2) When you delete one item from your combobox, you might set the property SelectedCustomer of your view model to null. As you are binding your SelectedItem property of your combobox to that property, no item will be selected.
ad 3) You have an UpdateSourceTrigger set to PropertyChanged which is raised on every change of the entered text. So, if you enter a char, the binding system will get an alert. You will receive an exception (see my response to your question 1) if CustomerName gets or sets the name of the property SelectedCustomer. If SelectedCustomer is null (when there is no combobox selection) you will receive a NullReferenceException as no object exists which properties can be set.
I hope that helps.