Alright, after some thorough searching, BigFIsh says:
In order for the variables to be persistent, simply set ownership to null - which will set the ownership to server thus making the variables permanent until the room gets destroyed.
My question is, if I set variable ownership to the server.. whenever a user updates a room variable, is ownership then set back to them? Or does the owner stay the room?
Edit: If the user creates the room variable, there's no way to override ownership client side (AS3). What's the best way of going about making edited and created variables (by the client), owned by the server?
Edit2: After more searching I came across this thread.
Real Persistent Room Variables. If I read this correctly.. I have to write a handler for my room extension that watches for when a room variable is created... then set ownership in the handler to 'null' and that variable is now persistent. Doesn't sound very awesome.
Edit3: Well.. I guess I sort of answered all my own questions (if the above is all true for SFS2X). I would like to request the ability to set ownership in the AS3 client api in future versions. It would be helpful and not such a gross solution.