Some system software code is cached in RAM and re-used in a restart. There is no problem with doing that, provided the cached code is not corrupted. A boot from a cold start replaces everything in RAM.
Kernel extensions can take a small but noticeable time to load, so the result of loading them is cached (along with some other stuff)
on disk in /System/Library/Caches/, to speed up the next restart. One of the things Safe Boot does is discard all your startup caches, including this one. (Font caches are also discarded.) Your kernel extensions are loaded the slow but sure way, this time and on your next normal boot. (Since a Safe Boot also alters which kernel extensions load, it would be pointless to rewrite the kext cache until after a normal boot reloads the normal set of extensions.)
But that cache-flushing is because of the Safe Boot, not because of the power down. Nothing in RAM is preserved across a restart. (Even if it could be preserved, a Safe Boot wouldn't trust RAM, and wouldn't use any left-over garbage in it.) On the flip side, even after a shutdown, a normal boot
will load a cached kernel from disk into RAM, and use it.
I'm sure suggestions to "power down and wait 10 seconds" and the like come in the spirit of "as long as you want to forcibly reset the state of the OS, you may as well forcibly reset all your peripherals too."
Which isn't necessarily bad advice. I'm just saying that failing to shut down won't make a Safe Boot "not take", which was the original concern.