The notion of a DJ taking a "retainer" is stupid. The law requires any portion of a retainer not earned be returned to a client - therefore you are setting yourself up for conflict. Furthermore, if you "escrow" these funds you are essentially making an admission that you are not entitled to keep them should the event not proceed, the client change their mind and hire a different vendor, or seek to renegotiate the terms.
The keywords are "non-refundable" and/or "liquidated damages" thus, any deposit so described is earned at the time is is received. Cash it, and report it - whether you are accounting by cash or accrual method really doesn't factor into this issue.
Cash method reports simple income/expense at the date it is received or spent.
Accrual method tracks value changes in liabilities/assets - things like receivables, and accounts payable. Under the accrual method you would essentially be taxed for the date the contract is signed (asset created) or cancelled (liability).