Po pierwsze, takie coś:
var code = (e.keyCode) ? e.keyCode : e.which;
Możesz zapisać -- dzięki właściwościom operatora || -- w ten zwięźlejszy sposób:
var code = e.keyCode || e.which;
Jeśli chcesz nauczyć się operatorów w JavaScripcie i innych raczej przydatnych rzeczy, polecam książkę "JavaScript - Mocne strony", której autorem jest pracujący dla Yahoo! Douglas Crockford. Książka zwięzła, tania i świetna.
Po drugie to wywalanie przecinków robi się przy pomocy funkcji replace w obiektach typu string -- tak, jak napisał @Demonical Monk. Choć sądząc po Twoim opisie, to jego przykład powiela ten sam błąd, który jest w Twoim kodzie -- nie tyle usuwa przecinek, co zamienia go na wartość zmiennej text (jeśli chcesz usunąć przecinek, to drugim argumentem powinien być pusty string).
Dodam jednak, że jeśli chcesz usunąć ze stringa wszystkie przecinki (tj. więcej niż jeden), to musisz użyć wyrażeń regularnych i opcji g (global), o tak:
var oczyszczonyTekst = tekst.replace(/,/g, '')
Po trzecie, może się zdarzyć, że z jakichś powodów naprawdę będziesz potrzebował wartości liczbowej prostego znaku -- takiego, jaki masz na klawiaturze. Nie szperaj wtedy po tabelach, tylko skorzystaj z funkcji str.charCodeAt(n). Jeśli str to zmienna typu string, to funkcja zwróci wartość liczbową znaku znajdującego się na n-tej pozycji, przy czym znaki liczymy od zera.
Aby sprawdzić, jaki numerek ma przecinek, możesz stworzyć string składający się z jednego znaku (przecinka), a potem sprawdzić, jaki kod ma znak na pierwszym miejscu w tym stringu:
var str = ',';
var kod = str.charCodeAt(0);
Albo zwięźlej, korzystając z potęgi składni JavaScriptu:
var kod = ','.charCodeAt(0);
Szybki test w przeglądarce pokazał mi, że przecinek ma kod nie 188, tylko 44.
Podsumowując, nie jest prawdą, że fromCharCode zwraca zły znak. Ty oczekujesz nie tego znaku, co trzeba (być może tabele, z których korzystasz, są złe). Dodatkowo, jeśli korzystasz z tego do usunięcia przecinków ze stringu, to korzystasz ze złego sposobu.
Przypominam tu nie pierwszy raz jedną z podstawowych zasad pragmatycznego programisty: "Nie, to nie SELECT jest popsute". W Twoim przypadku należałoby to zmienić na "Nie, to nie fromCharCode jest popsute". Błąd bardzo rzadko tkwi w często używanych funkcjach bibliotecznych, czy elementach samego języka (choć JavaScript ma akurat parę takich błędów projektowych, ale są one dobrze znane i udokumentowane). Raczej stawiaj na to że to z Twoim kodem jest coś nie tak.