С libpqxx можете да изпратите нулева стойност чрез извикване на operator () на подготвен израз без аргументи, напр.:
xAction.prepared("insertBulkData")()(uuid)(coreNo).exec();
ще изпрати NULL като първи параметър за израза.
Не мисля, че можете да го накарате автоматично да замени празен низ с NULL. Един от начините да постигнете това е да промените SQL, който използвате:
INSERT INTO T_CORES (MAC, UUID, CORE_NO) VALUES (CASE WHEN $1='' THEN NULL ELSE $1 END, $2, $3)