How can set checkbox check mark always visible?

Before:

value is ‘false’

After:

value is ‘true’

What is the template that you are using?

GO('CheckBox', 'wall',
	{
		'Button.width': 20,
		'Button.height': 21, 
		'Button.cursor': 'pointer',
		'ButtonIcon.visible': true,
		'ButtonIcon.stroke': '#fff',
		'ButtonIcon.strokeWidth': 3,
		'ButtonBorder.fill': '#dadada',
		'ButtonBorder.stroke': null,
		'_buttonFillOver': '#dadada',
		'_buttonStrokeOver': null,
		margin: new go.Margin(7.5, 0, 7.5, 8.5),
		'_doClick': function(e, obj) {
			if(obj.panel.data.wall) {
				obj._buttonFillNormal = "#fb7e00";
				obj._buttonFillOver = "#fb7e00";
			} else {
				obj._buttonFillNormal = "#dadada";
				obj._buttonFillOver = "#dadada";
			}
		}
	}
),

By default GraphObject.visible is true, so you don’t need to set that.

The problem is that you are not setting Shape.fill on the Shape that you want to control.

The obj argument of the _doClick function will be the CheckBoxButton panel. So perhaps this is what you want to do:
obj.findObject('ButtonIcon').fill = '#fb7e00';

But this is the checkbox. When I click on ‘grey’ checkbox, the value of obj.panel.data.wall must be true and visible, on second click, the value must be false and visible like the picture presents.

Did you try changing your code to call Panel.findObject in order to find the appropriate Shape to modify?