The problem is it's bad for the PC games industry. Anything that causes fragmentation is bad for the industry.
PC code should be agnostic to the hardware it's running on, and unless very specific code is written, it will be - that's the whole idea of the PC. To force specific hardware configurations means writing checks for that hardware, and we all know that these checks can be hacked out as they have been in Batman.
Honestly, I can't see how this is in any way beneficial to the industry as a whole. If nVidia wanted to really contribute, they could have just had a big splash every time the game loaded up saying "AA by nVidia" or something, that way they get the kudos for their code and every PC user can benefit.
But you are making the assumptionthan Nvidia forced the developer to explicitly block ATI cards from running with AA.
We don't know if it was Nvidia directly or the developer being lazy, facing ATI specific technical issues, or simpyl protecting themselves form legal issues related tot he code Nvidia provided. Furthermore, neither the developer or Nvidia have explicityl stopped AA working with Batman, only that their is an optimal code path for Nvidia cards which for obvious reason is prevented form being run by ATI cards (not least it might be buggy, slow, artifacts, uses Nvidia only extensions, etc).
The only mystery is why a different code path for ATI cards wasn't made. Maybe simply the devlopers were lazy, after Nvidia developed some code they expected ATI to do the same, which they didn't.
As for code that only works on specific platforms, well thats been the case since the start of PCs and is the only way that technology can improve. For example, ATI has had specific extensions for tessellation for years (since their R200 card), only in DX 11 will these extensions become part of the standard DX. The same is true for any technical advance, Nvidia has PhysX so of course games will support it and won't be able to support ATI in those regards, etc. Intel CPUs have extensions for multimedia etc which AMD don't have.
A PC is a not a games console, their is no standrad hardware. Hence software has to be made adaptable to different platforms. Not everyone has the same CPu and GPU, ergo, different people will need a different code path to get the same performance.
Now, maybe Nvidia have done something dirty but there is simply not the evidence to claim this. Unless you are CEO of the Batman developer then you don't know why AA wasn't supported in Batman by default.