il problema non è public, ma "static"...
le variabili di questo tipo sono condivise in tutte le httpSession degli utenti sullo stesso nodo.
Application è un oggetto implicito simile a Session, è usato ad esempio per il numero di visitatori del sito, variabile comune a tutti gli utenti, oppure per percorsi I/O sul server, etc.
Almeno io l'ho usato sempre per queste cose.
Ma il problema del nostro amico non è condividere una variabile fra gli utenti.
A lui basta togliere 'static' e fare una variabile (public string mKey, public int mKey etc) normale da prendere con Request("id") ..oppure Request.QueryString("id")
la cosa si puo' fare anche con un <asp:hyperlink> lato server oppure con la la session, o in altri modi..