Может быть, но это сознательный выбор, который вы делаете как разработчик. Вы можете использовать новые возможности Vista, такие как UAC и CommandLinks, Aero и так далее. Но вам не нужно (даже UAC может быть запрограммирован - просто не делайте ничего, что требует прав администратора). Если вы решите игнорировать все вещи Vista, то между ними нет абсолютно никакой разницы.
Если вы хотите включить этот материал в свое приложение, это имеет значение. Но я бы сказал, не огромный. И если вы абстрагируете различия (например, напишите свою собственную функцию, которая отображает TaskDialog для Vista, но которая уменьшает объем вводимых вами данных в MesssageBox на XP), то вы будете писать только против своего собственного кода, и различия будут казаться почти ничем.
Кроме того, много нового в Vista (например, UAC или Aero) - это то, о чем вы один раз беспокоитесь, когда создаете первый функционал, который его использует, заставляет работать, а потом больше никогда не думают, пока вы разрабатываете приложение.