Checkbox values are not "Yes" and "No", but are "1" and "0" (usually when 0 it nulls it). I suggest setting your Conditional as follows.
[cb_approval] Not Empty
or
[cb_approval] Equal To 1
Either of the above should give the desired affect. Always remember to test your actions without a conditional before saying they don't work as configuration of the conditional is the common place users misconfigure.
Also if you're updating multiple fields you're probably best using a Query action instead of say 20 Field actions. Example as follows with a query.
Code:
UPDATE `#__comprofiler` SET `cb_myfield1` = '[VALUE]', `cb_myfield2` = '[VALUE2]' WHERE `id` = '[user_id]'