Porque generas numeros desde 14541 hasta 99932 pudiendo hacerlo desde 00000 hasta 99999?
Por lo demás muy bueno

Se hecha de menos la imagen gif que utilizas, aunque supongo que estara en
http://habbyte.net/cseguridad/img.gif no?
En la comprobacion del formulario sobran las " " de "$_POST[code*]" y "$rand"; deberías ponerlo:
$_POST['code']
$randPongo un * en code porque lo interpreta como etiqueta
