Compare identical columns of 2 df`s on the basis of a time window and create 3. df

I modified the code to work with the data you posted. Unfortunately, none of the rows in df1 where within 0.1 minutes of time values in df2. I manually modified one row of df1 to match with some rows of df2. Also, I saved the data you posted in an Rdata file so my reprex would not include hundreds of lines of data definition.
The main thing that tripped you up, I think, is that if fuzzy_inner_join finds columns with identical names in the data frames it is operating on, it appends .x and .y to the column names so they can be distinguished. You can see how I changed the code accordingly in these lines

df1Data <- tmp |> select(MT_19_02.x:MT_19_42.x) 
df2Data <- tmp |> select(MT_19_02.y:MT_19_42.y) 

You could have seen the appropriate column names by running

colnames(tmp)

I also changed

Final <- cbind(select(tmp, ID_MS1:time.y), Products)

to select all of the labeling columns needed for df2.

#save(df1, df2, file = "Forum.Rdata") #save the posted data

load("~/R/Play/Forum.Rdata") #load your data

LittleDiff <- function(x,y) abs(x-y) <= 0.1 #return TRUE or FALSE
library(dplyr)

library(fuzzyjoin)
#> Warning: package 'fuzzyjoin' was built under R version 4.1.2
library(purrr)
df1[2,"time"] <- 6.14 #Manually set one time in df1 to match a time in df2
df1 <- df1 |> rowwise() |> 
  mutate(Flag = sum(c_across(MT_19_02:MT_19_42))) |> 
  filter(Flag > 0) |> select(-Flag)
df2 <- df2 |> rowwise() |> 
  mutate(Flag = sum(c_across(MT_19_02:MT_19_42))) |> 
  filter(Flag > 0) |> select(-Flag)

tmp <- fuzzy_inner_join(df1, df2, by="time", match_fun = LittleDiff)
tmp <- tmp |> group_by(time.x) |> mutate(DIFF = abs(time.x-time.y)) |> 
  slice_min(DIFF) |> ungroup()
df1Data <- tmp |> select(MT_19_02.x:MT_19_42.x) 
df2Data <- tmp |> select(MT_19_02.y:MT_19_42.y) 

Products <- map2_dfc(df1Data,df2Data,.f = `*`)
Final <- cbind(select(tmp, ID_MS1:time.y), Products)

Created on 2022-02-01 by the reprex package (v2.0.1)