Hi Barry,
Perhaps there is some kind of misunderstanding? M-x gud-gdb seems to produce a prompt for gdb (have to remember not to use -i=mi for that one), and it provides some simple support for setting breakpoints and printing variables via the C-x C-a C-b / M-x gud-break sort of commands, but this seems to be barely better than simpling running in a terminal. There seems to be no graphical representation of the point of execution, the location of breakpoints either within the buffer or in a special breakpoint buffer, nor a backtrace buffer, or the list of local variables (which is the only one that I never really found very useful).
But, yes, using gud-gdb does not show the same behavior where a C-c C-c will make the M-x gud-<something> commands stop working. In some sense it does indeed work better, but I have fond memories of a time where I think that the GDB interface in Emacs was working. Is there at least of confirmation that others are seeing the same issue with things like M-x gud-print stop working with M-x gdb? I was troubleshooting with someone on Reddit and they never saw this issue.
Zach