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