I know you'll be shocked to hear that the crash was caused by me.
Commands for our equipment that are received over a serial port are wrapped in ASCII STX & ETX chars.
The format is: <STX><CMD BYTE><data...data><ETX><CKSUM>.
When the command is received the checksum is replaced with NUL to terminate the string and passed on.
Apparently the ETX char (0x03) causes IPADDR6 SetFromAscii and AsciiToIp6 to malfunction, and causes a crash.
I didn't see this issue with IPADDR4.
Once I changed the code to remove both ETX and the Checksum, no more crash. And IsEmbeddedIPV4 started
working correctly.
For now I'm going to follow your advice and rely solely on a router for setting IPv6 parameters.