Grazie clasku.
ho provato le tue soluzioni.
Unica modifica apportata è stata la conversione a intero della riga
codice:
def my_inserimento(elem, riga): # apro il file in lettura
with open("Testo.txt", "r") as f:
# salvo i dati
data = f.readlines()
if int(riga) >= 1:
# inserisco la riga
data.insert(int(riga) - 1, elem + "\n")
# riapro il file in scrittura
with open("Testo.txt", "w") as fo:
# scrivo i nuovi valori
fo.write("".join(data))
else:
print "La riga 0 non esiste, inserisci un valore maggiore"
Ora studierò un po' meglio my_cancellazione.
Grazie! 
PS: Cmq vedo che anche tu sei stato costretto ad aprire il file prima in lettura e poi in scrittura