It uses the duration timer built into summoning.

Line 68, BladeSpirits.cs

Code:
  if (Core.AOS)
  duration = TimeSpan.FromSeconds(120);
  else
  duration = TimeSpan.FromSeconds(Utility.Random(80, 40));

  BaseCreature.Summon(new BladeSpirits(true), false, this.Caster, new Point3D(p), 0x212, duration);
 
Nevermind this post. You use:

BaseCreature.Summon(new SummonedCrimsonDragon(), false, this.Caster, new Point3D(p), 0x212, TimeSpan.FromSeconds(20));
 
Back