Prova così
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'; 

   '300 è un valore arbitrario dato da circa metà altezza del div contenitore
   if (topPos<300 && topPos>hDiv){
      interval = setTimeout('scroll('+ scrollBy +', '+ time +')', time);
   }else{
      stopScroll();
   }

}