In sostanza devi scorrere tutto l'array generato dalla tua seconda split e analizzare le sottostringhe per verificare la presenze della virgola ed in tal caso splittare nuovamente la virgola.
A grandi linee una cosa del genere:
codice:
stringa= "ABC-0,11;DEF-3,45"
arr = Split(stringa, ";")
for j = LBound(arr) to UBound(arr)
arrZ = Split(arr(j),"-")
for x = LBound(arrZ) to uBound(arrZ)
if instr(arrZ(x),",") > 0 then
arrC = Split(arrZ(x),",")
for y = lBound(arrC) to Ubound(arrC)
response.write(arrC(y)&"
")
next
else
response.write(arrZ(x)&"
")
end if
next
next