Oh and the other thing I was going to say, is that the cards are great if you are using them as cards, but honestly if you say them out loud just like that, the waiter will first be really surprised that a foreigner is using words like "go ryoushou kudasai," which would be all well and good if your goal is to impress them, except that were a native Japanese person actually to speak like this in a restaurant it might sound almost too formal, and therefore kind of abrupt, and almost rude.
A slightly more natural/softer way to say it would be...
[diabetic/vegetarian/___ allergy] desu node, [meat/sugar/fish/etc] ga taberanain desu ga, [meat/sugar/fish/etc] ga haitte inai mono ga arimasu ka? (I am ________, so I can't eat __________, is there anything without __________?)
Instead of the repeat of whatever it is that you can't eat (especially if there were mulitple things) you can use "sore ga" or just eliminate that part altogether and start from "haitte inai mono ga"
For that last part you can also say "haitte inai mono wa nan desu ka" or "dore desu ka" (what doesn't have XX? or which one doesn't have XX?)
These are for the cases when you have no idea what is in anything, or think there might be few options to suit you.
If you have something that looks safe, and you want to make sure it doesn't have any problem foods in it...
Point at the item on the menu, and ask:
"kore ni [eggs/meat/fish/etc] wa haitte imasu ka?" (Is there XXX in this?)
If you want to add explanation, so they understand the seriousness of your inquiry, use the first two parts of the above sentence. Also, adding "issai" (absolutely) before "taberarenai" makes it a little stronger, but the rest of the sentence should balance it out so it isn't rude.
If you start with a "sumimasen" that should make it even nicer.
It is sufficiently formal for a restaurant situation, without being out of place.