First thing is to research whether anybody else has similar problems on the BPi in case some implementation detail of their kernel or standard libraries/daemons is broken.
Second thing is to find out the precise runtime, and to investigate how many milli/micro/seconds etc. that is. The usual thing for this to happen is a rollover, it's particularly pernicious if the timestamp (etc.) is signed but there's a way to write comparisons to minimise the problem.
Assuming Linux on the laptop, the situation where it needs to be rebooted is probably because a USB-connected serial port has moved from e.g. /dev/ttyUSB0 to /dev/ttyUSB1, which suggests that the kernel thinks that the original device hasn't been released cleanly. I'd expect that you could fix that by forcibly-unloading the relevant kernel module.
MarkMLl