1: using a keyboard listener class to capture keystrokes is easy enough, its just mapping methods to keycodes- every key has a keycode - no matter what language.
http://msdn.microsoft.com/en-us/library/system.windows.forms.control.keypress.aspx[
^]
2: language doesnt matter
3:stand alone? no point having a database then :P use sql and network them up. its easy. otherwise u cud use a standalone database making tool like MS Access, but you'd have to learn VBA which sucks..
4: schedule tasks to clear temp + stuff.. triggers in database are easy just google whatever database u choose.. + triggers
5: Linux is bad idea.. compatibility will be a bitch.
GL