If your code is run on an event that only fires when the user interacts with it (i.e. a change event or a click event) then no the rows will be invisible still as the events will not fire when the form opens. You will have to take into account the state of the form.
The answer is "C": The checkbox's value is stored as data, but the presence of the row is managed by script triggered by a user-actions. PDF's won't store the visual state of a form. Only data-driven lay-out changes will be restored after reopening a form.
In such case I usually call the event of the control, which manage the presence of the dynamic part, form the initialize event of the form. So at the opening of the, regardless whether it is opened for first time or after a save, the presence of all conditional controls are restored corresponding to the data in the form.