"Beef" wouldn't likely be said as if it's a meal. If you're talking about steak, "steak" would almost invariably be used. Cubed steak is similarly pretty much always "cubed steak". Other beef-based foods usually have beef as an ingredient, not an entire dish.
"Beef steak" would be used if you have a particular need to clarify that it's beef steak (as opposed to e.g. pork steak), but usually you don't need to do that.
You're right that 3b and 4a are incorrect. 4c too. One minor note: some people use "hamburger" to mean "ground beef" (much to my chagrin, especially because some of these people don't even know the term "ground beef"). When people use the word "hamburger" like that, they do so in the manner than 4a and 4c are constructed, but at the same time it's not likely for someone to say that they had ground beef for lunch (ground beef is usually thought of as an ingredient, not a dish).
5a-5d are all grammatically correct, though that would be quite an unhealthy habit. xD
Regarding 6a-6d, they're all correct, but "to have" doesn't mean "to eat" in this context. It refers to possession. Also, the countable version of "meat" usually refers to types of meat, which incidentally doesn't matter much in this context, but can matter in others.