That's because you have called the function on load of the window and the Button element is not available at that time (and thus 'null').
What you can do is call the function on load of the body and it should work fine. So the code will be
<script type="text/javascript">
function disableBtn()
{
var btn= document.getElementById("<%=Button1.ClientID%>");
btn.disabled=true;
}
//window.onload=disableBtn(); //NOTE: I have commented this line
</script>
<body onload="javascript:disableBtn();">
...
...
<asp:Button ID="Button1" runat="server" Text="Button" />
...
</body>
Hope this helps!