Il secondo parametro che riceve il metodo InsertAt è un indice in base 0 che si riferisce alla posizione nella quale la riga dovrà essere inserita. L'indice può andare da 0 (inserisce in testa alla tabella) a tabella.Rows.Count - 1 (l'equivalente di utilizzare il metodo Add).
Spero tu abbia capito che questo non ha nessuna corrispondenza con i tuoi valori di chiave (12, 14, 29).

Quindi per aggiungere una riga in quella posizione, nell'esempio che hai fatto tu, il parametro pos dovrebbe essere passato con valore 1.

HTH