Hmm, maybe the image asset itself isn't saved with the addTableEntry, just the asset identifier. ie the name, but not the actual image (that would be a bug). The asset should be the same if you have it in one table and move to another. Caching should take care of the rest.
Tried a stripped down test: (following the code sample on wiki: http://lmwcs.com/rptools/wiki/addTableEntry
Create new table (manually).
create rows 1, 2, 3, 4.
Create a new token, named "elf".
Use default token image for an Elf.
Create lib:Utility token.
create macro "test"
(uncheck "Allow Players to Edit Macro"
add following logic to "test":
[r: switchToken ( "elf" )]
Checked the table: Yep, big red "X".