Should prepared statements be deallocated when used inside stored procedures?
According to the MySQL docs:
A prepared statement is specific to the session in which it was created. If you terminate a session without deallocating a previously prepared statement, the server deallocates it automatically.
So, no, I wouldn't bother doing it explicitly, unless you have very long-running sessions.