q onda, tu problema mas que de sincronizacion lo veo como un problema de transaccionabilidad, lo que debes es ver como manejas tu inserccion de datos y consulta para evitar shadow reads y para ello tienes en las transacciones un nivel de isolation, que en este escenario al no ser propiedades de una clase si no datos traidos de una BD debera ser el mas pesimista posible.
revisa
http://msdn.microsoft.com/es-es/libr...el(VS.80).aspx
pero puedes probar usando un MessageQueue para procesar por FIFO por si tu tendencia de multiples solicitudes simultaneas no requiere tanta sofisticacion y mas practicidad