DaqAIn(): Make it hopefully less horrible.

Actually check the returned 'err'or status codes and abort on error,
instead of silent failure returning NaN's.
Retry data reception until a valid input report is received to make it
robust against race conditions.
Code cleanup and beautification.
Hopefully fixes some of the issues in forum message thread #15873.