Why don't you simply grep the sample names from disk and then put them as colnames back into the output?
Something like this:
tmp.files <- list.files(path = "~/Desktop/", pattern = ".bam", full.names = TRUE)
tmp.names <- sapply(strsplit(tmp.files, split="\/"), function(x) rev(x)[1])
countmatrix<-featureCounts(files = tmp.files,
annot.ext = "~/Desktop/test.saf")
colnames(countmatrix$counts) <- c(tmp.names)
colnames(countmatrix$stat) <- c("Status", tmp.names)