hola
en principio diria que es correcto el diseño
pero como todo puede haber variantes, es verdad lo que comentas de las claves de la tabla
si piensas que la tabla de detalle podria tener algun otro campo que influya como identificador podrias dejar solo como key el numero_articulo
y hacer que los campo id_depto y id_agencia sean campos relacionados con la tabla de encabezados, si quiere evitar duplicados define estos campos como un INDEX (indices) que no admita duplicados
de esta forma podrias variar el index y los duplicados que admite sin afectar las relaciones o la key de la tabla
Nota: para la creacion de indices recomiendo preguntes en el foro de sql server
saludos
Leandro Tuttini
Blog
Buenos Aires
Argentina