When I use the Gigabit Ethernet MAC core in full-duplex mode, the half-duplex counters still increment. Is this behavior correct?
Yes -- this behavior is correct. Even though these counters are incrementing, they should be treated as "don't cares" in the design when the core is used in full-duplex mode.
When the half-duplex logic is committed from the core, the half-duplex-specific counters disappear. This results in the address decoding of the management interface becoming simplified due to an address-decoding wrap-around. Therefore, when the half-duplex logic is omitted, 0x40 is picking up the count from the counter at 0x0 (and, likewise, 0x44 from 0x04.)
This is also true for the other half-duplex counters (e.g., 0x41 will mirror 0x01), but this is not noticed because these counters contain "0".