Two thoughts - you need to use the "SendKeys wait" version of the command:
SendKeys "", 1
otherwise your script goes on to the next statement before SendKeys finishes its work.
You are probably right that your logic flow is not actually equal to your statement flow. One thing that I have found is that the delay after (generally) anything involving a combination of text and speech (TTSPlayString, RecognitionMimic, HeardWord etc.) must be a bit longer than the time that it takes to actually physically utter the phrase. "Developer password" takes at least 1 second to utter so the delay after it should be "Wait 1".
-------------------------
-Edgar
DPI 15.3, 64-bit Windows 10 Pro, OpenOffice & Office 365, Norton Security, Shure X2U XLR to USB mic adapter with Audio Technica DB135 vocal mic & Shokz OpenComm UC version 1 wireless headset, Asus X299-Deluxe Prime, Intel Core i9-7940X (14 core, 4.3 GHz overclocked to 4.9 GHz), G.SKILL TridentZ Series 64GB (4 x 16GB) DDR4 3333 (PC4 26600) F4-3333C16Q-64GTZ, NVIDIA GIGABYTE GeForce GTX 1060 GV-N1060G1 GAMING-6GD REV 2.0 6GB graphics card with 3 1920x1080 monitors