First question: ASP.NET pages are compiled for the first time they
are accessed. Next time onwards when the user accesses the page, he
will get the data from compiled version. For this reason, ASP.NET is
slower than ASP when it is accessed for the first time. At the same
time you should not forget that your code will be fewer lines, more
structured.

I'm populating this datagrid with a datatable that I build
> using a couple of sql calls. If I use regular ASP and a table instead of
> asp.net and a datagrid, the page loads very fast. If I use the grid, it
> goes very slow. Is the datagrid really this slow, and is there any way to
> speed it up?
>
Second question:
Datagrid will not handle the complete paging automatically. It
displays the page numbers for you at the bottom of the datagrid and it
raises an event on the server side when you click on a page number and
makes the page number on the server side. You need to set the current
page index to new page index and databind again. Then datagrid
automatically calculates which rows needs to be displayed from the
complete data. This also reduces lot of coding effort.

The reason I wanted to use the datagrid in the first place
> was because it's supposed to handle paging automatically. I managed to get
> a numeric list of of pages at the bottom of the grid, but not matter which
> one I click on, it always goes back to the first page.
>
Third question:
Your question was not very clear. When you select a value from the
drop down, fire a server side event, set the page size of the datagrid
to the new value and databind it again. That should work properly.
Don't forget to check the current page index, so that it will have
some data in it.

I'm using a dropdown listbox to set the page size of my
> datagrid. This is completely failing to work. I select 10 and nothing
> happens. I select 20 and then I get 10 items in the grid. Then I select 50
> and I get 11 items on the grid. I don't even have an option for 11 items in
> my dropdown. It may be noteworth that I get what I can only describe as
> 'dead space' at the bottom of my datagrid when this happens.
>
> Thanks in advance,
> Mike
Thanks
Ram