Can a DC motor with obstructed movement be damaged?
Yes, leaving it running will stall the motor and thus draw a lot of current and eventually overheat it. A few possible solutions, sorted roughly by increasing cost:


Figure out how long it takes to roll them up and program the controller to run the motor for a set time (dead reckoning).
Measure the current being drawn by the motor and immediately stop when the current goes over a certain threshold that indicates a stall. If it stops promptly enough the motor won't have a chance to heat up too badly.
Add a limit switch at the end of the range of motion. Given that you're rolling up shades, I'm not sure if you could position the switch to do that.
Mount a distance sensor of some sort (probably IR) just below the top of the shade so that it becomes exposed once the shade is fully rolled up. This will effectively work like the limit switch idea.
Closed-loop speed control of the motor with a shaft encoder.