LFSWorld
Sure, but you can get that information for their best overall split / sector time through LFS World via the pb action. You'll need to get your own ID Key (IDK) but once you do, you can get the information from this url. (Just replace <IDK> with your ID Key and <RACER> with the name of the user you would like to get information on.) you might also need to use the hosts action to get a list of users on your host.
PB
http://www.lfsworld.net/pubstat/get_stat2.php?version=1.4&idk=<idk>&action=pb&
racer=<racer>&s=2
HOST
http://www.lfsworld.net/pubstat/get_stat2.php?version=1.4&idk=<idk>&action=hosts&s=2
InSim
If you want it for just your server, then an application would need to be made. You need the 
STA (for the track name) could just capture the 
SPX (for the time) and 
LAP (also for the time) packets, or the 
FIN (gives you just the best lap time for that race) packet depending on how in depth you want to get.
STA
struct IS_STA // STAte
{
	byte	Size;			// 28
	byte	Type;			// ISP_STA
	byte	ReqI;			// ReqI if replying to a request packet
	byte	Zero;
	float	ReplaySpeed;	// 4-byte float - 1.0 is normal speed
	word	Flags;			// ISS state flags (see below)
	byte	InGameCam;		// Which type of camera is selected (see below)
	byte	ViewPLID;		// Unique ID of viewed player (0 = none)
	byte	NumP;			// Number of players in race
	byte	NumConns;		// Number of connections including host
	byte	NumFinished;	// Number finished or qualified
	byte	RaceInProg;		// 0 - no race / 1 - race / 2 - qualifying
	byte	QualMins;
	byte	RaceLaps;		// see "RaceLaps" near the top of this document
	byte	Spare2;
	byte	Spare3;
	char	Track[6];		// short name for track e.g. FE2R
	byte	Weather;		// 0,1,2...
	byte	Wind;			// 0=off 1=weak 2=strong
};
SPX
struct IS_SPX // SPlit X time
{
	byte	Size;		// 16
	byte	Type;		// ISP_SPX
	byte	ReqI;		// 0
	byte	PLID;		// player's unique id
	unsigned	STime;	// split time (ms)
	unsigned	ETime;	// total time (ms)
	byte	Split;		// split number 1, 2, 3
	byte	Penalty;	// current penalty value (see below)
	byte	NumStops;	// number of pit stops
	byte	Sp3;
};
LAP
struct IS_LAP // LAP time
{
	byte	Size;		// 20
	byte	Type;		// ISP_LAP
	byte	ReqI;		// 0
	byte	PLID;		// player's unique id
	unsigned	LTime;	// lap time (ms)
	unsigned	ETime;	// total time (ms)
	word	LapsDone;	// laps completed
	word	Flags;		// player flags
	byte	Sp0;
	byte	Penalty;	// current penalty value (see below)
	byte	NumStops;	// number of pit stops
	byte	Sp3;
};
FIN
struct IS_FIN // FINished race notification (not a final result - use IS_RES)
{
	byte	Size;		// 20
	byte	Type;		// ISP_FIN
	byte	ReqI;		// 0
	byte	PLID;		// player's unique id (0 = player left before result was sent)
	unsigned	TTime;	// race time (ms)
	unsigned	BTime;	// best lap (ms)
	byte	SpA;
	byte	NumStops;	// number of pit stops
	byte	Confirm;	// confirmation flags : disqualified etc - see below
	byte	SpB;
	word	LapsDone;	// laps completed
	word	Flags;		// player flags : help settings etc - see below
};
I fell generous today, I gave you alot of information that should get you started on it your self.