As Jason said, you can't change the key of an existing dictionary entry. You'll have to remove/add using a new key like so:
// we need to cache the keys to update since we can't
// modify the collection during enumeration
List<int> keysToUpdate = new List<int>();
foreach (KeyValuePair<int, SortedDictionary<string, List<string>>> entry in dict) {
if (entry.Key < MinKeyValue) keysToUpdate.Add(entry.Key);
}
foreach (int keyToUpdate in keysToUpdate) {
SortedDictionary<string, List<string>> value = dict[keyToUpdate];
int newKey = keyToUpdate + 1;
// increment the key until arriving at one that doesn't already exist
while (dict.ContainsKey(newKey)) newKey++;
dict.Remove(keyToUpdate);
dict.Add(newKey, value);
}