Best coding practice.

bools are bools.

They shouldn't really be interchangable with ints, it's one of the language compromises made for backwards compatibility with C.

I think you code will improve if you treat them as if they weren't interchangable. The compiler is perfectly capable of optimizing away statments like "if (x==1)", it output the same code as "if (x)".