The following very clear explanation of the solution to this problem came from Oliver of West Flegg Middle School, Great Yarmouth:

I started by writing the numbers from 22222 in sequence and I found a pattern. I discovered that the last two digits were repeated every sixteen numbers.

512 divided by 16 is 32 and I can calculate the 16th number 32 times using the pattern below.

22222, | 22224, | 22226, | 22228, |

22242, | 22244, | 22246, | 22248, |

22262, | 22264, | 22266, | 22268, |

22282, | 22284, | 22286, | 22288, |

22422, | 22424, | 22426, | 22428, |

22442, | 22444, | 22446, | 22448, |

22462, | 22464, | 22466, | 22468, |

22482, | 22484, | 22486, | 22488, |

Oliver then wrote out the sixteen times table from 1 x 16 = 16 up to 32 x 16 = 48888 showing that the 512th number is 48888.

If you do the same, you can also see that the first 64 numbers start with 22 (running through all the possibilities for the last 3 digits) the 64th number being 22888. The next 64 numbers start with 24, the next 64 with 26, then 28, 42, 44, 46, 48, and so on. An alternative way to look at the problem is to see the 512th number as the last number in the eighth block of 64 numbers, (the block starting with 48), and so it is 48888.

Another good solution came from Luke of Flegg High School, Great Yarmouth:

A quick and easy way to answer this problem is take the fact that there are four digits possible for each of the five places, i.e. $4^5=1024$ places. The 512th place is halfway, which would obviously be 48888.

Ben of The Simon Langton Grammar School for Boys in Canterbury also sent in a good solution to this one.