Answered my first question. Yes, it causes a problem.
However, the install problem was not caused by trying to designate 3 primary fields, but rather the length of those fields.
I again modified "install.mysql.utf8.sql" as follows:
CREATE TABLE IF NOT EXISTS `#__vminvoice_templates` (
`config_id` int(11) NOT NULL,
`document` varchar(25) NOT NULL,
`type` varchar(25) NOT NULL,
`name` varchar(255) NOT NULL COMMENT 'custom name',
`template` text NULL,
`params` text NOT NULL,
`last_template_change` INT NOT NULL,
PRIMARY KEY (`config_id`,`document`,`type` ),
KEY `last_template_change` (`last_template_change`)
) ;
Changing the length of document and type to 25 rather than 255.
This works.
Will this cause a problem I have not yet discovered?