I know very little about Bluetooth and OBEX, but I've been doing some tests and talking with other people in the area that work on mobility, and the file doesn't seem to be transferred until the user accepts it (there's a very easy to see delay between the "Accept File" and "File Received" messages depending on the file size). We have tested with Windows Mobile smartphones (HTC), Nokia phones and Blackberries.
Either way, when I take this line out:
conn.Client.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.SendTimeout, Settings.Default.Transference_SendTimeout * 1000);
I keep getting the same error as before. It seems that after around 40 seconds my Nokia phone automatically cancels the file transfer with error 10064 (rejecting the file gives me also error 10064). My timeout setting was 60 seconds, so I changed it to 20 seconds but the line seems to have no effect, as the phone cancels the file after 40 seconds instead of getting the timout at 20 seconds...
So now I'm not sure what the line I put before is doing exactly (as it seems to be doing nothing), but at least the error messages from the phone seem to make sense now.
Any other idea on how I could force a timeout after 20 seconds for example?