Es gibt in BibLaTeX IMHO counter wie listcounter (aktuelles Element einer Liste) und liststop (letztes Element einer Liste).

Mann müsste also vermutlich eine ifthenelse Abfrage machen, die etwas tut wie

Code:
solange listcounter < liststop

\renewcommand{\bibinitperiod}{\adddot\addsemicolon(?)\addspace}

sonst

\renewcommand{\bibinitperiod}{\adddot\addcomma\addspace}
Wie ganau die Syntax lauten muss musst du mal selber schauen, dafür programmiere ich in LaTeX viel zu wenig.