Dzięki libpqxx możesz wysłać wartość null, wywołując operator () na przygotowanej instrukcji bez argumentów, np.:
xAction.prepared("insertBulkData")()(uuid)(coreNo).exec();
wyśle NULL jako pierwszy parametr instrukcji.
Nie sądzę, aby można było automatycznie zamienić pusty ciąg na NULL. Jednym ze sposobów na osiągnięcie tego jest zmodyfikowanie używanego kodu SQL:
INSERT INTO T_CORES (MAC, UUID, CORE_NO) VALUES (CASE WHEN $1='' THEN NULL ELSE $1 END, $2, $3)