Perhaps answering my own question, following the related wiki advice on overloaded functions (http://wiki.codeblocks.org/index.php?title=Script_bindings#Overloaded_Functions), this seems to compile:
typedef wxString(cbStyledTextCtrl::*cbStyledTextCtrlFunc)();
SqPlus::SQClassDef<cbStyledTextCtrl>("cbStyledTextCtrl")
.func(&cbStyledTextCtrl::IsCharacter, "IsCharacter")
.func(&cbStyledTextCtrl::IsString, "IsString")
.func(&cbStyledTextCtrl::IsPreprocessor, "IsPreprocessor")
.func(&cbStyledTextCtrl::IsComment, "IsComment")
.func<cbStyledTextCtrlFunc>(&cbStyledTextCtrl::GetSelectedText, "GetSelectedText");
Now to see whether this actually works in a script...
This patch provides bindings to all the cbStyledTextCtrl methods used in your cbDebuggerPlugin::GetEditorWordAtCaret method, and in a rather similar method CodeRefactoring::GetSymbolUnderCursor() in the code completion plugin. The one omission is cbStyledTextCtrl::PositionFromPoint, which takes a wxPoint value as a parameter. A binding for this breaks the build as the line "DECLARE_INSTANCE_TYPE(wxPoint)" in sc_base_type.h generates Match and Get functions only for passing by reference or pointer. I am open to suggestions as to how best to resolve this issue.
You can bind a normal function with explicit this parameter, which uses reference instead of pointer parameters.
Something like:
void my_method(MyClass *this, const Test &t) { this->my_method(&t); }