http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Thread.State.html
A thread tem os seguintes estados:
NEW -> Antes do start. Na verdade, você nem tem uma thread ainda, só um objeto que descreve a futura nova thread.
RUNNABLE-> Uma thread que está executando na VM.
BLOCKED->Uma thread que está esperando para entrar num bloco synchronized - entra na categoria de estados NOT_RUNNABLE;
WAITING->Uma thread dentro de um wait ou sleep - entra na categoria de estados NOT_RUNNABLE
TIMED_WAITING->Uma thread que está esperando por outra terminar (após um join(), por exemplo) por um timeout específico - entra na categoria de estados NOT_RUNNABLE.
TERMINATED->Uma thread que já saiu do run() e finalizou. Novamente, você não tem exatamente uma thread aqui, só o objeto descrevendo a thread que morreu. Esse estado também é chamado de DEAD.
De maneira mais simples, os estados que você descreveu obedecem ao seguinte diagrama:

Assim, antes do start() o estado da thread é new, não inativo.
Embora o diagrama mostre o comando stop(), vale lembrar que ele é deprecated e não deve ser usado.