I went back and forth on this.  A scenario I didn't account for is, what if SmartStore is accessed for the first time when a user is not logged in, so the data doesn't move.  Then the user logs in and does a bunch of SmartStore data transactions that are written to their standard user-based store location.  Then at some point they launch again, and this time they initialize SmartStore when they *are* authenticated.

At that point, the old data would overwrite the new.  I don't like that either.  I don't like losing data either way, basically.  I think the right thing to do here is, instead of saying that we won't move the data if the user isn't authenticated, follow the "anonymous"/global paradigm that the rest of the multi-user SS implementation uses, and move the data to the global location.  The worst that can happen in that case is inadvertent data splitting, but that's at least something that could be rectified manually if necessary.

I think it's that or, like you said, maybe just remove the data.  I think either solution is better than what I have.