Эту статью http://www.ibase.ru/devinfo/udf_ok.htm я читал ещё до написания сабжевого вопроса, в тот момент, как посмотрел заданный здесь http://groups.google.com.br/group/ru-http://groups.google.com.br/group/ru-firebird/browse_thread/thread/7df00e537de465eb/8dd6f8a9138e1b35?lnk=gst&q=UDF+BLOB&rnum=4#8dd6f8a9138e1b35 Константином вопрос "Подскажите про isc_seek_blob", когда там увидел ссылку на неё. На мой вопрос - почему при вызове PutSegment, аналогичному использованному в процедуре procedure CStringToBLOb(CString: PChar; var BLOb: TBLOb); cdecl; export; из этой статьи, мне выдаётся сообщение об ошибке "Cannot update old BLOB", о котором я написал в самом первом вопросе - там ответа НЕТ, как ничего не говорится и о том КАК инициализовать структуру BLOB изнутри UDF.
То, что это делается при помощи вызова API-функции isc_create_blob2 - я уже нашёл сам, после того, как Shiliaev Ruslan предложил мне самостоятельно написать функцию WriteBLOB. Теперь осталось узнать, как получить в UDF параметры status_vector, &db_handle, &trans для вызова API-функции isc_create_blob2 - и, думаю, всё получится. Если кто-нибудь знает, как это сделать - с удовольствием послушаю конкретные рекомендации (а лучше пример).

