chars are numeric values that are used to represent characters. You must always distinguish between the two, ie
char c = 0;
is not the same as
char c = '0';
in the second case c has the value 48.
From the API doc of Integer.toBinaryString
... The characters '0' ('\u0030') and '1' ('\u0031') are used as binary digits.
So your chars are '0' and '1', ASCII numeric values 48 and 49 respectively. The logical operators work with the numeric values, not the character representations, so you may need to rethink your code a bit.
For Each ctrl As Control In Me.Controls("pnlMainPanel").Controls
If ctrl.GetType Is GetType(System.Windows.Forms.Panel) Then
For Each subCtrl As Control In ctrl.Controls
If subCtrl.GetType Is GetType(System.Windows.Forms.TextBox) Then
If subCtrl.GetType Is ...