Either form is OK. The first form (with the variable named "state") is consistent with the sample code in the original wx4 screen set, so some may argue for consistency's sake use that. The important thing is that the naming of the function variable makes sense (primarily to you, secondarily to others).
As to the signal script vs load script - it is using BOTH. The signal script (in the wx4 screen set) simply calls the scripts in the SigLib array that is defined in the screen load script. The idea (I believe) is to put most of the customized code in the screen load script instead of having some there and some in the signal script.
Also keep in mind that the SigLib scripts get called only on a *change* in the signal, either from 0 to 1, or from 1 to 0. You can test both for a signal going high/active *and* going low/inactive by including an "else" clause, like this:
[mc.ISIG_INPUT0] = function (state)
if (state == 1) then
have to figure out what to put here
else
-- This "else" clause executes when the signal transitions to the "off/low/inactive" state
end
end,