Нет, EF4 прекрасно поддерживает составные ключи.
Проблема в таблице с суррогатным ключом и составным ключом. Вы можете установить только один ключ для каждой модели; этот ключ может иметь несколько полей, но вы можете иметь только одно с точки зрения дизайнера. Не уверен насчет ручного редактирования XML или сопоставления только кода.
Вы можете установить поле в качестве идентификатора, а не ключа, если вам нужен составной и суррогатный ключ для одной и той же таблицы. Поле Identity (Id) не будет использоваться ObjectContext или ObjectStateTracker, но будет увеличиваться и, тем не менее, отлично справляться.