Revisintg his post - and seeing the 'let me be clearer' bit which I may have missed first time around, or is new information, I have the following suggestion.
Instead of having a sequence of expression boxes themselves each conditionally hidden, stick them in a sequence of sections (one per expression box) that are conditionally hidden (based on your checkboxes as before).
You can use the same datasource group bound to the sections - Infopath remembers each of the individual conditional formatting, so you don't need to make many many data-source groups, just one.
Now, for the ones you want to have carriage returns, put a carriage return after the expression box, but still inside the section it resides in.
Wa lah! those sections when visible will have a carriage return, and the others will not.
Hope this helps.