Works great, but once I got to 70 it doesn't recognize that I'm on Siege and keeps picking after gains... 
*** Edit: ***
Ok, I found the problem.  
In your Sub Skillcheck change set !RoTShards Siege_Perilous  to  set !RoTShards Siege
             it doesn't like the underscore between Siege and Perilous
then change  if #Shard in !RoTShards && !CurrentSkill >= 700 && !GainedSkill > !LastGain
to  if !RoTShards in #Shard && !CurrentSkill >= 700 && !GainedSkill > !LastGain
Works great now... I'm guessin' you didn't have a Siege char to test it with...
Great script, btw..