First I'm going to disagree, a bit with myself and a bit with Philip, because I had not focused sufficiently on the keyword "environment" in "Macros defined by the MAKEFLAGS _environment_ variable ... shall not be added to the environment". While the behavior of setting MAKEFLAGS in the makefile may be undefined, its behavior when encountered in environment seems to be made clear by this statement and GNU make still seems wrong there:
% cat Makefile
all:; env | grep ^WUR ||:
% make -s
%
% MAKEFLAGS=WURGLE=12 make -s
WURGLE=12
Second, I agree with Paul that even when set in the makefile MAKEFLAGS should still not export by default. Partly because understanding and explaining the fine distinctions here could become a full time job and partly because the more ways to pass variables to sub-makes without exporting them the better.
David