I think that there should be a complete name to fall back on. It looks more professional and gives the child the option of the nickname, the full name, or maybe a different nickname to use in the future.
Plus there are many nicknames which can't be tied to just one name and therefore can't be pinpointed to one meaning. Like Maddy, off your list. Would you take the meaning of
Madeline?
Matilda?
Maude?
Madison? Something else? A name like
Alex is pretty straightforward at least. And since
Abbey is a word in itself, you could just claim its meaning is after the word and not the name
Abigail. Plus some nicknames won't age well. Like I think an adult
Charlie would be a bit silly.
Furthermore, it will often be assumed their name is a nickname. If your name is
Jim, people are all going to assume it's short for
James, and you'll always have to correct them. It would be annoying, I'm sure.
Anyway, that's just my opinion. You could be doing much worse in naming your child than just giving them a nickname for a full name. At least it's spelled right!