Вы должны быть в состоянии сделать это в паре операторов без использования курсора или другого процедурного кода. Просто убедитесь, что это все в одной транзакции:
BEGIN TRANSACTION
INSERT INTO crrsql.dbo.AR_Transactions (
cashier_id,
cust_num,
balance,
transaction_date)
SELECT
100199,
cust_num,
-acct_balance,
DATEADD(MINUTE, -30, current_date)
FROM crrsql.dbo.Customers
WHERE acct_balance <> 0
UPDATE crrsql.dbo.Customers SET acct_balance = 0 WHERE acct_balance <> 0
COMMIT TRANSACTION
Конечно, добавьте правильную обработку ошибок и обязательно проверьте это в первую очередь.
Кроме того, я немного изменил некоторые имена ваших таблиц и столбцов. Я не хочу вдаваться в то, какие конкретные соглашения об именах лучше других, но на минимум будьте последовательны. Если вы собираетесь использовать подчеркивание, используйте их. Если вы собираетесь использовать нотацию верблюда, используйте ее, но не смешивайте их. То же самое относится к именам таблиц во множественном числе и в единственном числе.