Sounds like namespace or no namespace is not of significance...
A simple workaround I used last year is to change:
<aura:attribute name="rescheduleWrap" type="RegistrationController.RescheduleWrapper"/>
to:
<aura:attribute name="rescheduleWrap" type="Object"/>
This avoids having to refactor the Apex code: inner classes can be very helpful in keeping simple data access object definitions next to the code that uses them (and out of the top level namespace).
JavaScript doesn't have a strong type system the type
information does not appear to be used at present. I haven't found anything prescriptive in the current documentation. Perhaps sometime in the future the type
will be significant, but by then there will be many Lightning Components with various values set so compatibility requirements are likely to make definitive type
values optional not mandatory.