Hey,
I made a FSM with about 23 states (not the first time i've done vhdl work, but never had this problem before with FSM => in fact it is not really a problem) and i used following scheme:
sequencing:process(state,...) begin case state is when ... =>
end case; end process;
update:process(reset, clk) begin if (reset='1') then state