as per $summary, from build log: x86_64-pc-linux-gnu-gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -DYY_NO_INPUT -D_GNU_SOURCE=1 -D_REENTRANT -I/usr/include/SDL -I/usr/include/libpng14 -DNDEBUG -DWZ_DATADIR="\"/usr/share/games/warzone2100\"" -DLOCALEDIR="\"/usr/share/locale\"" -I.. -I../lib/ivis_opengl -g -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wcast-align -Wwrite-strings -Wpointer-arith -Wno-format-security -Wno-pointer-to-int-cast -Wno-strict-aliasing -Wstrict-prototypes -Wdeclaration-after-statement -Wc++-compat -Wno-c++-compat -Wno-switch -march=native -O2 -g0 -fstack-protector -c multijoin.c with USE="debug" I see that the buildsystem appends also -O0, so if you want, you can drop "-O?" defined by user when USE="debug" is active.
Upstream requested debug support be turned on and be done as specified. Normally we wouldn't even have debug support for a game package at all. Marking WONTFIX.
in general, USE=[+-]debug does not control CFLAGS. expecting packages to do so (one way or the other) is a misunderstanding. (we make exceptions for direct upstream requests only)