$static::variable_name should only be used as global variable replacements that aren't changed after RULE_INIT runs. Their value isn't synchronized across TMMs after RULE_INIT. An example case for using static:: variables is setting a debug value (set static::my_rule_debug 1) or other configuration options that apply for all connections and don't need to change over the course of connections.
As far as I'm aware, static::class_name wouldn't work for accessing a datagroup (aka class).
We had a discussion on variable scope in v10 in the thread below. SMP and Jason provided some good info in it.
v10 - local vs. global vars
http://devcentral.f5.com/Community/GroupDetails/tabid/1082223/asg/50/afv/topic/aft/1172260/aff/5/showtab/groupforums/Default.aspx
Aaron