You mention firmware 1.00e in a previous post - is this the version you have on your camera?
I think its late where HankPoo lives - he/she is typically gone by this time of night - so I'll answer. HankyPoo has been successfully testing my 1.00e ports on a 256M card for about a week now. CHDK works fine on that card.
Meanwhile, I've been using a 2G card for all my CHDK work. When I tried a 4G card I gave up when it didn't work right away. Also tried partitioning an 8G card but the instructions I found on the wiki had me switching back and forth between Linux and Windows and I didn't get that working either. So far I've assumed it is just not reading the instructions correctly but with all the recent posts on several forums of people having difficulty, I'm starting to wonder.
Think I'll try playing with my 4G and 8G card again - probably using the SDM tools for partitioning and formatting.
It sounds like the init_file_modules_task isn't getting injected - I had this problem early on with the G12 and SX30 and the A495 is close to the same DryOS version (A495 = R43, G12/SX30 = R45).
Looked at the code for 1.00e - the only thing I can see that may be a problem is where you initialise the taskHook calls:
*(int*)0x1934=(int)taskHook;
*(int*)0x1938=(int)taskHook;
On the G12 & SX30 I have to use:
*(int*)0x1938=(int)taskHook;
*(int*)0x193C=(int)taskHook;
I checked the 1.00e firmware and it seems to be using the 0x1938 & 0x193C addresses like the G12/SX30.
Also I'd suggest changing the code in taskHook to use address comparisons rather than string comparisons as this function gets called hundreds of times (see my G12/SX30 ports for example).
After you find the addresses in the firmware either insert the hex values directly in taskHook, or add them to stubs_entry_2.S and reference them by name (if you do this make sure to use the DEF() macro not the NHSTUB() macro).
Phil.