IComparer使うのと本質的には同じなんだから
(メソッド1つで済ますかインターフェイスの実装が必要かだけの差)
2003から2008になったからってわけではないけどな
デリゲート自体は最初からあったんだし
VB9で追加されたのはラムダ式であって

変換は関係ないな
デリゲートを渡すってのは
「このデリゲートに必要なメソッド格納してるんで必要なときにデリゲート越しに呼んでね」
ってこと
ソートはループと比較で成り立ってるわけで、
Array.Sortのなかでもループしつつ何度もデリゲート越しに比較関数呼び出してる