Variant это managed type (как string, не нужно подчищать), и совместим со всем, чем только можно и нельзя. Недостатки проявляются только на больших масштабах - сотни тысяч экземпляров.
Ну вообщем, я против использования Variant вместо JSONData. ЕДинственным некоторым преимуществом вижу managed type. Н у и мне кажется FPC должен улучшить поддержку JSON в модуле fpjson, сделать его еще более нативным типа