Действительно какая-то засада с длиной литерала, причем именно в 2009-й, потому что в 2012-й такой код успешно отрабатывает. У меня получилось обойти ошибку за счет хинта forceplaceholders:
X++:
select firstonly forceplaceholders crosscompany smmBusRelTable
exists join docuRef
where smmBusRelTable.RecId == docuRef.RefRecId
&& smmBusRelTable.TableId == docuRef.RefTableId
&& smmBusRelTable.dataAreaId == docuRef.RefCompanyId
&& docuRef.smmEMailEntryID == strEntryID;