Вы можете использовать LINQ:
Directory.EnumerateFiles(path, "*", SearchOption.AllDirectories)
.OrderBy(File.GetLastWriteTime)
.Last()
Если вы не используете .Net 4.0, измените его на
Directory.GetFiles(path, "*", SearchOption.AllDirectories)
.OrderBy(p => File.GetLastWriteTime(p))
.Last()
Это немного медленнее, но будет работать в .Net3.5.