The attack took place in the dark before dawn. The defenders were not " caught sleeping", although some of them might have been sleeping in shifts. If you have ever been around black powder cannon fire, I doubt you would bother asking the question. The first cannon to fire wakes up everyone for at least a mile around!
However, the entire garrison was overrun before dawn. If you believe the Mexican accounts, many of the defenders were captured alive, including Crockett, and then killed by bayonetting, as painfully and as slowly as possible, to send a message to Houston's men. The few civilian survivors carried those memories to Houston, and the cry, " Remember the Alamo" was born out of pure rage and hatred.
When Houston's men attacked the Santa Anna Camp at San Jacinto, they had also heard ouf the capture and execution of the Texans under Fannon's command, before the Alamo fell. So, they had lots of reasons to kill Mexican soldiers, and particularly officers when they attacked the encampment-- again, before daylight. The attack at San Jacinto succeeded for the same reason that the Attack on the Alamo succeeded. Not because the camp sentries were sleeping on the job, but because the attacking force used the cover of darkness to move its forces as close to the enemy as possible, and then rushed the enemy from at least 3 sides. The Battle of San Jacinto was as neat a " Turning of the tables " as any military battle could be, and humiliating Santa Anna was worse to him than being killed outright. He lost a lot of men at San Jacinto, and they all did not die from gunshot wounds, or cannon fire. Texans had their revenge. :thumbsup: