DCT's typically check these for whether to leave neutral:
1) are RPM's too high or too low - does the display seem to match what the engine is doing.
2) is the sidestand down (doesn't match the symptom of working after sitting a while though)
3) oil pressure
4) oil level
5) engine temperature
Check all of these whether the shop said they checked them or not. Do you have to wait - or if you turn it all the way off with the key and try it again - will it restart?
Have you tried to reset the DCT?
DCT Reset Sequence CRF1000L DCT
1) Warm the engine up to normal operating temperature (Engine oil temp 50-110C / 112-230F) then STOP it.
Note: If the large “L” (extremely low oil temp indicator) or small “L” (low oil temp indicator) is displayed on the shift indicator then the engine must be warmed up further before proceeding.
Stop the engine (Using the ignition key)
With the engine warmed up and STOPPED (Ignition off) —->
2) Turn the Ignition Switch ON (with engine stop switch in the run position) (do not start the engine) whilst at the same time holding down D on the N-D Switch. Keep holding the D switch on. The MIL will then come on. Wait until the MIL goes off and release the D switch.
3) Operate the N-D switch in the following sequence:
Push D then release
The PCM is ready to initialize the ‘clutches learning process’ when the “D” and “S” indicators light up AND the “_” is displayed on the shift indicator AND blinks at 2 second intervals.
Note: If at any point you get the Low oil temp indicator (“L”) come on, stop the process. START the engine, warm it back up to operating temperature (so that no low oil temp indicator is displayed), STOP the engine (Using the ignition key) and repeat steps 2 & 3 again.
4) Start the engine and let it idle. The “_” on the shift indicator will start blinking at 2 second intervals.
The Clutch initializing learning process is complete when “_” “D” and “S” indicators all go off.
STOP the engine (Using the ignition key)
Note: The clutch initialization learning process is unsuccessful if the “_” starts blinking at 0.5 sec intervals or goes off and the “D” and “S’ symbols stay on. If so, perform the initialization learning procedure from Step 2 again.
5) STOP the Engine (Using the ignition Key)
6) Restart the Engine, Push the D switch, release and check that the “D” indicator comes on. If it does... then you’re good to go!