The internal interfaces should only provide setters with id (I think we all agree on that?). Since the front facing objects also implement the internal interface they have to be present there too.

I actually don't think that it hurts to have both setters (id and native type) in such cases. However, in doubt I would vote for having only the setter with the native type in the front facing classes (this would mean that they cannot implement the internal interface anymore, which was planned for the future anyway).