Because you can place a finite verb after it. So you have to use 'hij'. (Niemand in zijn klas is sneller dan hij is.) Note that in English, you have to do that too, but nowadays, 'him' is accepted as well. In Dutch however, it is not. :)
Him might be accepted in most English demographic areas... but those concerned with proper English would use "He" and not "Him", for the precise reason you cite above, xMerrie. The "He" is viewed as the subject of the elliptical clause: "He is"