For some reason, the compiler is unable to ascertain that TModel implements IModel, even though it inherits from a class that implements IModel. The solution, fortunately, is simple. Instead of this:
public Repository<TModel, TKey> where TModel : Model<TKey>
do this:
public Repository<TModel, TKey> where TModel : Model<TKey>, IModel