I found something out about the BizTalk Cross Referencing features the other day that I didnt know and havent seen in the documentation.
If you use the ID cross referencing it will hit the database everytime you use the functoids or access the dll directly
If you use the VALUE cross referencing it implements a simple cache using a singleton so if you update data in the database you should restart each host instance that uses it before the changes will take effect.