ac will have compiled Arc lexical variables down to Scheme lexical variables. So, they'll already be bound -- no need for define. E.g.,
test.arc
(let x 5
(assign x 10))
At the REPL
$ mzscheme -if as.scm
Welcome to MzScheme v4.2.1 [3m], Copyright (c) 2004-2009 PLT Scheme Inc.
Use (quit) to quit, (tl) to return here after an interrupt.
arc> :a
> ((lambda (x) (set! x 10) x) 5)
10
> (acompile "test.arc")
#t