Você deve ser capaz de fazer isso em algumas instruções sem o uso de um cursor ou outro código de procedimento. Apenas certifique-se de que está tudo em uma transação:
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
Claro, adicione o tratamento de erros adequado e certifique-se de testar isso primeiro.
Além disso, alterei um pouco alguns dos nomes de suas tabelas e colunas. Não quero entrar em quais convenções de nomenclatura específicas são melhores que outras, mas pelo menos ser consistente. Se você for usar sublinhados, use-os. Se você for usar a notação camel-back, use-a, mas não as misture. O mesmo vale para nomes de tabelas plurais versus singulares.