Una chiamata dentro l'altra?Puoi spiegarmi meglio per favore.
Come ho già scritto:
il load() non è altro che una chiamata AJAX semplificata
Nel tuo script vedo che hai fatto una prima chiamata AJAX:
codice:
$.ajax({
            type: "POST",
            url: "send.php",
...
e nel success vai a fare una seconda chiamata col metodo load().

Ho scritto anche che non entro in merito a questo discorso perché non so esattamente cosa vai a fare con la prima chiamata.

Questa chiamata cosa fa esattamente? Forse aggiorna un database, o cosa?
Cosa viene restituito nel success? Vedo che c'è un argomento msg ma non è stato utilizzato da nessuna parte.

Per cui mi chiedo, già da questa chiamata non è che puoi ottenere il contenuto aggiornato da inserire dentro #datatable?

Considerando il tuo load():
codice:
$("#datatable").load(location.href+" #datatable>*","");
è chiaro che va ad aggiornare solo la tabella, ma tu hai idea di cosa c'è dietro quel metodo?
In sostanza va ad effettuare una chiamata AJAX alla stessa pagina (che presumo a questo punto risulti aggiornata), quindi restituisce (nel suo success) il contenuto aggiornato di #datatable (della pagina richiamata) e lo riversa dentro il #datatable della pagina corrente.

Per questo dico che mi sembra un doppio passaggio, perché dovresti già poter ottenere quello che ti serve con la prima chiamata, facendo magari in modo che la pagina send.php (o chi per lei) si occupi anche (se già non lo fa) di restituire il solo contenuto da inserire nel tuo #datatable.

A questo punto puoi ricreare l'istanza del dataTable rieseguendo magari questo script:
codice:
$('#datatable').dataTable({
              "paginate": true,
              "sort": false
});
o provare il metodo draw() come già ti ho indicato.