Сильно зависит от компилятора и его опций с которыми будете собирать.
Я считаю, что тут необходим экспериментальный подход - проще проверить будет ли в используемой Вами среде это работать, чем гадать.
В общем же случае вопрос, видимо, не решаем, т.к. стандарт стандартом, а иметь дело будете с конкретными реализациями стандарта в виде конкретных компиляторов. Возможно под разные платформы. И что они будут думать про bool - одному Янусу известно :-)
Скорее же всего работать будет везде, т.к. есть соглашение, что 0 - false, а все остальные целочисленные значения - true, но при этом если
bool a = true;
то (int)a будет равно 1