Проблему обнаружил в связке с PostgreSQL, на других не проверял.
В VB.NET, в LINQ выражениях, локальные переменные появляются с именами типа $VB$Local_variable. Из-за использования всяких доп. символов Npgsql не видит эти параметры, так как там в разборе участвует рег.эксп. "([:@][\w\.]*)" и имя параметра не попадает под "\w". Видимо где-то надо предусмотреть процедуру нормализации имён параметров, которая будет избавляться от нежелательных символов. Вроде это не так сложно, так что надеюсь на скорый фикс