Первым результатом разбиения является пустая строка, то есть то, что находится перед первым двоеточием в строке.
Пропускать пустые строки вместо пропуска ":" (поскольку это никогда не появится в результате):
string Descript1 = ":1:2:3:4:5";
Regex pattern = new Regex(":");
foreach (string sub in pattern.Split(Descript1)) {
if (sub.Length > 0) {
Single a = Convert.ToSingle(sub);
}
}