You can do this, but not with a single SQL statement:
/ create a temporary table /
drop table if exists temp;
create temporary table temp(
Userid int,
Stamp int
);
/ insert user id and most recent timestamp /
insert into temp
select userid, max(Stamp)
from Files
group by userid;
/ ...and finally, what you want! /
select u.Id, Name, Filename
from ((users u
inner join Files f on u.Id = f.Userid)
inner join temp t on t.Userid = f.userid
and t.Stamp = f.Stamp);
A bit long-winded, I know.