Lösningen är betydligt enklare än förklaringen:
tell application "Adobe InDesign CS2"
tell active document
set myStyle to character style 2
set applied character style of (text from character -3 to character -1 of selection) to myStyle
end tell
end tell
Kortfattat beror den (för dig) oväntade syntaxen på att du vill påverka något som inte är en ren AppleScript-lista (för vilket man använder "thru") utan ett text-objekt i InDesign, vilket är en helt annan typ av objekt, som då kräver sin speciella syntax.
Principiellt är det samma sak som när du jobbar med andra objekt-typer, låt säga "link" eller "image", det är bara det att AppleScript/InDesign översätter viss typ av "native" AppleScript till dess motsvarighet i InDesigns text-modell åt dig, och därför kan man många gånger ta den genvägen (?) men andra gånger så räcker det inte riktigt/funkar inte.