Solution:
a. True. Black moves to one end of a main diagonal and then moves along the diagonal to the opposite end. Each of the 499 rooks is in some row. Since black moves through each row, every rook must change row. But each of the rooks is also in some column and so every rook must also change column. A rook cannot change row and column in the same move, so white must make at least 998 moves before black reaches the opposite end of the diagonal. But it cannot start until black is two moves from its starting position, because if it moves a rook into row (or column) one or two earlier, then black is checked or can move into check. So it has only 997 moves available, which is one too few.
b. False. Suppose the contrary, that after move n, the king is always in check after its move. Let the corners of the board be A, B, C, D. After move n, white moves all its rooks inside a square side 23 at corner A. The king must now be in the 23 rows between A and B or in the 23 columns between A and D. Suppose the latter. Then white moves all its rooks inside a square side 23 at corner B. This should take 499 moves. However, it could take longer if black used his king to obstruct the move. The worst case would be 3×23 additional moves (the king can only obstruct one row of 23 rooks, and each rook in the obstructed row could take 4 moves instead of one to reach its destination.). During this period the king must remain in the 23 rows from A to B or the 23 columns from A to D, since it must remain in check. Thus it cannot get to B by the completion of the process. In fact, it must be at least 999−46 (the total number of moves required) −(499+69) (the number of moves available) =385 moves behind.
White now moves all the rooks inside a square side 23 at corner C. The king cannot cut across (or it will be unchecked). It must keep within 23 squares of the edge. So it ends up 770 moves behind (more in fact, since it cannot obstruct the move as effectively). Finally, white moves all the rooks inside a square side 23 at corner D. The king cannot get to the side CD by the time this process is completed. So there is then a lag of over two hundred moves before it can get back into check. Note that it does not help black to change direction. Whatever black does, white ends up with all the rooks at a corner and the king a long way from the two checked sides.
c. False. This follows from (b). But we may also use a simpler argument. Take coordinates x=1 to 1000, y=1 to 1000. White gets its pieces onto (2,0), (4,0), ..., (998,0). If the king moves onto (2n,∗), then white moves its rook from (2n,0) to (2n−1,0), leaving the king unchecked. If the king moves to (2n−1,∗) or (2n+1,∗), then white moves its rook back to (2n,0), leaving the king unchecked. If the king stays on the line (2n,∗), then white fills in time by toggling one of its endmost rooks to an adjacent square (and the king remains unchecked). The only way the black king can escape this repeated unchecking is by moving up to the line y=0. If it does so, then white transfers all its rooks to the line y=1000 and repeats the process. The transfer takes 499 moves. It takes black 1000 moves to follow, so during the 501 moves before black catches up, the king is subject to repeated unchecking.