You have two solution available to you. The first is to convert the single single-quote to two single quotes. SQL Server sees this as a literal single quote. You ought to be able to use STRTRAN() to do the convertion:
lcDiary = STRTRAN(lcDiary, "'", "''")
The second solution involves issuing the SET QUOTED_IDENTIFIER OFF. This will allow SQL Server to receive strings that are delimited by either a single or double quote.
-Mike