questa è la funzione che vedo pubblicata:
codice:
function scroll(scrollBy, time) {
    tClip += scrollBy;
    bClip += scrollBy;
    topPos -= scrollBy;

    
    if (tClip < 0 || bClip > hDiv) {
        tClip -= scrollBy;
        bClip -= scrollBy;
        topPos += scrollBy;    
    }
    
    
    scrollDiv.style.clip = 'rect('+ tClip +'px, '+ wClip +'px, '+ bClip +'px, 0)';   
    scrollDiv.style.top = topPos + 'px';    
    interval = setTimeout('scroll('+ scrollBy +', '+ time +')', time);

   //300 è un valore arbitrario dato da circa metà altezza del div contenitore
	if (topPos<300 && topPos>(hDiv*(-1))){
		interval = setTimeout('scroll('+ scrollBy +', '+ time +')', time);
	}else{
		stopScroll();
	}
   
}
bisogna cancellare la riga immediatamente sopra al mio commento (//300 è....)
firefox mi dice che "scrollDiv__Controls is null"

quindi nella funzione initScroller la riga
var scrollDiv__controls = document.getElementById(id + '__controls');
diventa:
var scrollDiv__controls = document.getElementById(id);


riguardo il ciclo if che dovrebbe stoppare lo scroll:
fai un tentativo con:
if (topPos<300 && topPos>-hDiv){