Aqui está um plugin jquery completo que resolve este problema:
https://github.com/bigspotteddog/ScrollToFixed
A descrição deste plugin é a seguinte:
Este plugin é usado para fixar elementos no topo da página, se o elemento tivesse rolado para fora da visualização, verticalmente; no entanto, permite que o elemento continue a se mover para a esquerda ou direita com a rolagem horizontal.
Dada uma opção marginTop, o elemento irá parar de se mover verticalmente para cima assim que a rolagem vertical atingir a posição de destino; mas, o elemento ainda se moverá horizontalmente conforme a página é rolada para a esquerda ou direita. Uma vez que a página foi rolada de volta para baixo após a posição de destino, o elemento será restaurado à sua posição original na página.
Este plug-in foi testado no Firefox 3/4, Google Chrome 10/11, Safari 5 e Internet Explorer 8/9.
Uso para seu caso particular:
<script src="scripts/jquery-1.4.2.min.js" type="text/javascript"></script>
<script src="scripts/jquery-scrolltofixed-min.js" type="text/javascript"></script>
$(document).ready(function() {
$('#mydiv').scrollToFixed({ marginTop: 250 });
});