I've just uploaded Version 0.2 to GitHub.
Local variables are now accessed correctly, function parameters are now taken off the stack before returning, and local variables are declared with locb, locw, locd, and locq instead of resb, resw, resd, and resq.
EDIT: I forgot to mention that the reason I sub esp, 16 instead of just sub esp, 8 is because Crambly automatically aligns to multiples of 16 to support 64bit, this is the same thing that gcc does; for example:
locb variable
Reserves 16 bytes, even though we only use 1.
But:
locq variable1
locq variable2
locb variable3
Reserves 32 bytes, even though we only use 17.