This week's giveaway is in the EJB and other Java EE Technologies forum. We're giving away four copies of EJB 3 in Action and have Debu Panda, Reza Rahman, Ryan Cuprak, and Michael Remijan on-line! See this thread for details.
It's very different to whay I'm doing, but then there are loads of ways of doing things. I'd suggest that you make very, very sure that there is no possibility of introducing a thread deadlock situation by having a sunchronised block within a synchronised method as you've suggesting.
Do you need to synchronise the method itself? As far as I can see, recNo and lockCookie are thread local variables (each thread has its own stack, so other threads can't change the values of them).