This looks good to me. I used the GetNamedDSA added by this patch in my code and it worked fine.
/* XXX: Should we verify params matches what table was created with? */
Are you planning to address the above before you commit? It seems like a helpful check since GetNamedDshash takes the params as arguments. That said, I don't have a strong preference either way.
I have a question: is there a way to remove the entries from the registry and free the space? For example, if a user decides to call dshash_destroy the dshash entry in the registry would no longer be needed.