At first, you can't use unique ID (like this [#'gridSelectionCheckbox_0']) in repo xpath for input, which you want to loop in code. Unique ID means Ranorex will search (and find) just this one particular input, called gridSelectionCheckbox_0. Hence you need to use syntax as per my suggestion [@id~'gridSelectionCheckbox'], which instructs Ranorex to find 'ALL' inputs called gridSelectionCheckbox.
As for the inability to click 'hidden' input, that's true, Ranorex cannot click invisible element. At least not with mouse. It may be possible to "click" it with PerformClick but I'm sure this will not invoke mouse click event and it's generally not recommended to use if testing GUI

What you probably need to do is to use the loop to evaluate the "checked" of input element (even if they are hidden) and if an input is 'unchecked' you should click the associated 'label'. But this is something I'm just guessing. I'm not entirely sure if clicking the label would change the cheked state of underlyig input? This is something you need to discuss with your devs.
Why are the inputs are made invisible? What exactly should be clicked to change the 'checked' state of checkbox?