What are the implications or cautions when changing a short lived process to long lived process and vice versa?
The basic difference is that a short lived process does not store its process state in the LiveCycle DB the long lived processes do. So when you drop a user task on the process diagram it will change to a long lived automatically as the process data must be stored in the DB.
If you change a short lived to a long lived without versioning it, any running processes will stall if they call it. It will complain about not being able to start the process synchronously.