La regola dovrebbe essere :
se la stringa non contiene il delimitatore, non splitta, e forma un solo elemento (quindi non un array), se la stringa e` vuota, potrebbe dare errore.

Quindi per come la vedo io (ma non ho controllato cosa dicono i manuali dei vari metodi usati) si dovrebbero mettere i seguenti controlli:
codice:
if(arr_soldi_offerte.length > 0) {
  var arr_soldi = arr_soldi_offerte.split(",");

  for(i=0; i<arr_soldi.length; i++) { // se limite e` zero no n fa il loop
    alert(i+": "+arr_soldi[i]);
  }
} else {
  var arr_soldi = arr_soldi_offerte;
  alert("unico: "+arr_soldi);
}
Ciao
Michele