I've since found the documentation where it explains where this happens. However:
(a) It doesn't say that it doesn't remove the intermediate targets of suffix rules. (b) The documented way to turn it off, using .PRECIOUS, has other undesirable side-effects - namely, it prevents make from removing the file when interrupted, so that the timestamp may be wrong for the next build. (c) I think that the feature is of doubtful value anyway, especially when the final target has dependencies other than the intermediate target. (d) There is no general way to turn the feature off, except perhaps by saying `.PRECIOUS: %' - see (b). My apologies for missing the documentation for this the first time round, but I still think there are issues to be resolved here. Ian.