Целью PBNI является расширение PowerBuilder. Когда вы добавляете объект или функцию через PBNI, он становится на одном уровне со встроенными в PowerBuilder. Это также относится к элементам управления в PBNI, вы можете просто перетащить их из дерева систем и поместить их в окно. Некоторые из полезных вещей, которые я видел в PBNI, включают в себя сдвиг битов, пользовательские строковые операции и элементы управления canvas. Вы также можете использовать PBNI, чтобы говорить с чем-либо еще, что вы хотите. IIRC кто-то сделал интерфейс, который позволяет вам называть Python. Также на ум приходит библиотека SOAP для PB Classic.
Что касается Windows API, вы можете вызывать довольно много полезных вещей, но вы сразу же попадаете в стену, если что-то требует обратного вызова. Кроме того, если вам нужна структура типов, которые PowerBuilder не может создать, вам необходимо запрограммировать команды MoveMemory для перемещения данных.