GetPrivateProfileStringAなのだから、戻り値はバイト単位。
文字数として扱えば、取得した以上のサイズになる事があっても不思議じゃない。