Zacznijmy od tego, że to co przerabiasz to skrypt, nie "wtyczka", widzę, że traktujesz to jako synonim, co nie jest do końca prawdą.
Ale do rzeczy. Uprościłem sobie Twój skrypt i wydaje się działać:
(define (script-fu-save-layers-to-images image save-type jpg-comp png-comp dont-ask display-images backgnd backgnd-id thumbimg thumbnails twidth theight canvas)
(let* (
(new-name (string-append thumbnails "/" "TEST"))
)
(gimp-message new-name)
)
)
(script-fu-register "script-fu-save-layers-to-images"
_"Save all layers to images."
_"Save all layers to images"
"Piotr Gecow (gacek56@tlen.pl)"
"Piotr Gecow"
"2009-10-10"
""
SF-IMAGE "Foto" 1 ;;image
SF-OPTION "Saved File Type" '("JPG" "PNG") ;;save-type
SF-ADJUSTMENT "JPEG Compression (0--100%)" '(75 0 100 1 5 0 0) ;;jpg-comp
SF-ADJUSTMENT "PNG Compression (0--9)" '(9 0 9 1 10 0 0) ;;png-comp
SF-TOGGLE _"Don't ask all the time" TRUE ;;dont-ask
SF-TOGGLE _"Display image in GIMP?" FALSE ;;display-images
SF-TOGGLE _"Save with background?" FALSE ;;backgnd
SF-LAYER _"Background" TRUE ;;backgnd-id
SF-TOGGLE "Make thumbs" TRUE ;;thumbimg
SF-STRING "Thumbnails path" "Thumbnails" ;;thumbnails
SF-VALUE _"Width px" "600" ;;twidth
SF-VALUE _"Height px" "600" ;;theight
SF-TOGGLE "Canvas?" TRUE) ;;canvas
(script-fu-menu-register "script-fu-save-layers-to-images"
_"<Image>/Script-Gacek/")
Dostajesz błąd "illegal function"?
Może to kwestia parametrów, zamiast stringów, posyłasz tam listy, nie przyglądałem się temu za dobrze, bo trochę to złożone jest, ale proponuje wyświetlać sobie - choćby w gimp-message - co posyłane jest do tej funkcji.