Is this a bug, by design, a temporary convenience? Please advise and offer your suggestions?
IMHO it is not a bug. Even static arrays are dynamically allocated and then convert to static.
You can write this: uint[3] message; message[0] = 2; message[1] = cast(uint)"hello\r\n".ptr; message[2] = 7;