Call fwd problem

After all day of wanting to throw my head though my monitor I decided I was better suited to ask for help.

I am running asterisk 1.4.22 on slackware 2.6.24

I have been attempting to get my callfwd function to work, but have been having some issues.

My [macro-stdexten] is as follows:
exten => s,1,Set(temp=${DB(CFIM/${ARG1})})
exten => s,n,GotoIf(${temp}?cfim:nocfim)
exten => s,n(cfim),Dial(Local/${temp}@default/n) ; Unconditional forward
exten => s,n(nocfim),NoOp

exten => s,n,Dial(${ARG2},15) ; 15sec timeout

exten => s,n,Set(temp=${DB(CFBS/${ARG1})})
exten => s,n,GotoIf(${temp}?cfbs:nocfbs)
exten => s,n(cfbs),Voicemail(b${ARG1}) ; voicemail on busy or unavailable
exten => s,n(nocfbs),Voicemail(u${ARG1})

My [extensions] info is :
Activate CFWD Dialing
exten => _0210.,1,Answer()
exten => _0210.,2,Set(DB(CFIM/${CALLERID(num)}=${EXTEN:4})
exten => _0210.,3,Playback(beep)
exten => _0210.,4,Playback(activated)
exten => _0210.,5,Hangup

I can dial 0210[number] and get no errors

The CLI claims that an entry has been added to the CFIM database, however if I do a database show there is no entry for it.

If I trial to dial the extension that I am trying to fwd, the phone rings as normal.

From my limited experience it would seem that no actual CFIM database entry is actually being created.

I am out of ideas and near going bald, Any help or guidence would me much appreciated.

Thanks,
Mike

As an update…
I am able to make my call fwd work is I input the desired information into the database with the CLI command database put

change EXTEN:4 to EXTEN:1. This should make the DB write correctly