Kann es hier nicht passieren, dass durch mehrere Aufrufe von "SetNextFree" immer wieder Blöcke in der BAM belegt werden, die gar nicht benutzt werden?
Ohne jetzt mir den Code anzusehen hab ich schon einen Verdacht was Du meinst: Da werden zwei benachbarte Sektoren gesucht. Wenn die aber nicht nebeneinander liegen werden weitere Sektoren gesucht. Eigentlich hast Du Recht und man müsste die zuvor reservierten Sektoren wieder freigeben.