nur weils mir aufgefallen ist als tipp (ohne auf die Lösung deines Problems einzugehen):
generell wäre statt
Length(sBuffer) * 2
ein
Length(sBuffer) * SizeOf(Char)
besser, damit vermeidest du ein "hardcoden" der charlänge und hast code evtl. auch nicht-
unicode-compiler kompatibel.