Как оказалось, в Ax2012 метод SysQuery::value() выполняет разбор символьной строки и экранирует ряд спец.символов наклонной чертой. В данном случае, экранируется символ точки в значении "632.000"
X++:
SELECT * FROM MainAccount(MainAccount_1) WHERE ((MainAccountId = N'632\.000')) ...
Это значит, что обрамление значений функцией SysQuery::value() - обязательно! Именно с целью экранирования возможных спец.символов, которые могут встречаться в значении. Вероятно, из-за этого у Вас запрос и не запускался. Символ точки в значении "632.000" как-то мешал корректной работе запроса.
PS: Кстати, проверил. Действительно, без экранировки спец.символов через SysQuery::value() соответствующие значения не находятся в таблице. Ошибок не возникает, просто запись не находит...