I think the shawl was not only protecting Rumple’s memories, but also his magic. Before he took it off, Emma said she wouldn’t let him forget. I think her magic is what protected his memories while he was not touching the shawl (unconsciously on her part). However, she did not think about protecting his magic (and may not have even if she’d thought about it). That was why he was so surprised when he wasn’t able to use his magic.
Hope I am stating this clearly, my brain’s kind of fuzzy right now (lots going on in RL).