конечно есть другой вариант.
но тут придется помучиться.
Во первых, про BPL. Это не совсем то, что ты думаешь. BPL это, фактически, замена DLL, но с определенными нюансами (в основном, связанные с тем, что, в отличии от DLL, в BPL сохраняется объектный контекст). Так что BPL тут тебе не поможет, т.к. исходники у иебя все равно плюсовые. Возможно, я просто не помню, C++ Builder может скомпилировать исходник в .dcu, тогда можно попробовать подключать уже скомпилированные модули как библиотеки.
Теперь по поводу другого пути.
Возможно напрямую подключать функции из .obj файлов (т.е. оезультата компиляции из исходников C) в код.
Для начала - вот статья:
https://docwiki.embarcadero.com/RADS...t_file_(Delphi)
Теперь статья с подробным объяснением:
http://rvelthuis.de/articles/articles-cobjs.html