ник: Анатолий (Киев)
Во 2-й процедуре:
Dim iCounter As String
...
iCounter = rst.Fields("Raz")
iCounter = 20 - iCounter
If iCounter < 0 Then iCounter = 0
Если у вас так, как в примере, то iCounter - строка, а участвует в вычислениях и сравнении с числом.
Если не это, и вы не можете лично проверить ситуацию у клиента, то добавьте в код сообщения на каждый шаг и договоритесь с кем-то из них чтоб проверили и сообщили, после какого шага ошибка. Тогда будем копать дальше.