When creating a new PHP EzBlock in the editor the block won't then run without a syntax error if it contains any backslashes (in and escaped string for example). The reason appears to be that the block data is saved without properly escaping backslashes. Retrieved block data has the backslashes stripped by MySQL as it thinks they are SQL escape characters (in other words it removes all backslashes from the original code).
One fix is to use $smcFunc['db_escape_string'] on the blockdata before saving it. Alternatively use the SMF2 $smcFunc['db_insert'] and $smcFunc['db_replace'] to save the data correctly (they escape it properly before saving).