Jag kan se flera potentiella fel här, men om vi tar det jag ser med säkerhet först så funkar det sista exemplet därför att du där använde InDesigns sökfunktion, i vilken InDesigns s.k. "metatecken" naturligtvis fungerar.
"Contains" är däremot en operator i "ren" AppleScript som titar om en sträng (eller en lista) innehåller delsträngen. AS tolkat metatecknet bokstavligt, dvs. som "^n", inte som en platshållare för fast radbrytning. Motsvarande symbol i AppleScript (och i många andra program) är \n (dvs backslash + n)
När du kompilerar det så kommer det att omvandlas till en fast radbrytning, scriptet kommer därför att se ut såhär
tell application "Adobe InDesign CS2"
tell document 1
set myChars to contents of story 1
if myChars contains "
" then beep 3
end tell
end tell
Trots att du innan kompilering skrev "if myChars contains "\n" then beep 3
Ett annat möjligt problem kan vara att det du jämför inte innehåller text, kontrollera det i Script Debugger.