Now I'm a bit confused. Your code above shows sessions with the "server" cookie set, will be routed to pool "staging" and all other sessions will be routed to "Staging" as well. This rule is equivalent to setting the virtual's default pool to "Staging" without an iRule.
I also don't see any persistence in this rule, just choosing pools to sent the connection to.
I think adding some log statements would shed a lot of light onto this situation as well as a full posting of your iRule (assuming it's more than what you stated above).
As for the iRules command reference. It's funny you ask, that is a side project I'm working on right now. More details to come to DevCentral soon...
-Joe