Cannot print period ('.') from simple AppleScript to VMware Fusion virtual machine
I don't understand why this isn't working, however I do have a fix. I figured out that doing tell application "System Events" to key code 47 sends a period correctly.

So, I wrapped my read into a conditional like this:

on run {input, parameters}

    #set input_file to "/path/to/file"
    #set file_text to read input_file
    set file_text to "test: ... hello ..."
    delay 0.3
    repeat with ch in file_text
        if ch as string = "." then
            tell application "System Events" to key code 47
        else
            tell application "System Events" to keystroke ch
        end if
        delay 0.1
    end repeat

    return input
end run