Oh the poor little thing. It is such a sudden change and it sounds to me like he is genuinely upset/frightened about something. I think he just needs a bit more comfort for a while, if you have to lay with him every night until he sleeps then that's ok. When he's over it you can go back to the normal routine.

I find it's hard for little kids to answer 'why' questions. So if you want to find out what's upsetting him you could try asking another way. I might say...... 'I can see that you're really upset. You don't want to go to bed. You don't like sleeping in your room because...' and then wait for him to answer. That works with my 2 yr old.