You are passing date and time in to your procedure, but when you convert those to dynamic SQL, you are using format 101, which removes the time portion. Try changing the 101 to 126 (there are 2 places within your code where 101 is used, make sure you change both of them.
0
solved compare two datetime by Date and Time in dynamic query