I'm glad I could help with your conundrum! Something else to ponder -- since you mentioned the scratchpad and time/speed -- writing to the SD card IS slower than writing to the built-in file area of the PAC.
I’m guessing you need more than the 0.3 - 2.5MB of file storage in flash memory or 2 - 16MB of volatile file data storage, hence the SD card? (See this tech note, form 1646, for more details on available memory and file space).
Also, although the scratch pad STRINGS are limited to a total of 64 bytes, there’s nothing to prevent you from using other areas of the scratchpad to write bigger strings – you’ll just have to carefully keep track of their address and length. This is very fast.
For example, if I’m not using the (now huge) scratch pad area normally used for integers, I can write a string in there at the mem map is none the wiser, it’s just storing bytes.
I could use this command and give it the address of scratch pad int :
nResult = WriteStrToIoUnitMemMap( self, 0xF0D81000, sMyString );
I can even have PAC Man interpret that area of the mem map as a string if I use the generic read/write option:
Since the scratch pad string area stores the length of the string for you (in the 2 bytes that precede the actual string), you might choose to do something similar in your free-form mem map writing (although I'd recommend using 4 bytes, even if you don't need all that, since PAC Control integers are 4-bytes).
In any case, I hope I haven't totally confused you. Just throwing out some ideas/options for you here.