you can solve the disappearing selection by moving your code to the worksheet activate event instead of the dropbutton click

Private Sub Worksheet_Activate()   
  cmbcontact.Clear
    If Sheets("Contact Details").Range("A4").Value <> "" Then
        cmbcontact.AddItem "Client 1"
    End If
    If Sheets("Contact Details").Range("A5").Value <> "" Then
        cmbcontact.AddItem "Client 2"
    End If
    If Sheets("Contact Details").Range("A7").Value <> "" Then
        cmbcontact.AddItem "FA 1"
    End If
    If Sheets("Contact Details").Range("A8").Value <> "" Then
        cmbcontact.AddItem "FA 2"
    End If
    If Sheets("Contact Details").Range("A10").Value <> "" Then
        cmbcontact.AddItem "Cus 1"
    End If
    If Sheets("Contact Details").Range("A11").Value <> "" Then
        cmbcontact.AddItem "Cus 2"
     End If


End Sub