Alright; to clarify: the [font=monospace]value[/font] of a checkbox has nothing to do with whether or not it is "checked." It's just the value that is assigned to the form field if the box is checked.
If you're trying to check the box depending on whether the value from the DB is true or false, you'd need to do the exact opposite: the value should always be the same, and the [font=monospace]checked[/font] attribute should be dynamically determined:
// . . .
$check_is_private = ($mysql_row["is_private"])? 'checked': '';
// . . .
<input type=checkbox name=chkPrivateProfile value=1 <?= $check_is_private ?> >
= = = = = edit = = = = =
I just saw what you meant by "checked ALLWAYS":
((bool)$is_private = true)
You're making an assignment there, not a comparison. Use triple equal ( === ) for equality (double equal ( == ) for loose equality; equal ( = ) for assignment).