GF4MX's are renamed GF2's and GF2's do indeed only have two texture units. If you want to support TNT2's, GF1's, GF2's, Radeon 7X00's and this level of card, you should stick to just 2 layers. Of course, you could always use a DLL to retrieve the number of texture units available and use 3 layers if the card can support it without mesh duplication.