Using Varients can very involved to determine what data type is connected.
An easier way to do what you want would be to have two input terminals on your subVI. One for boolean, one for the numeric, and one more to specify the data type using an emun. The subVI, checks what data type is specified and can then run the correct code.
I've attached a simple example that shows how this could be done.
Hope this helps.
Ed

Ed Dickens - Certified LabVIEW Architect
Lockheed Martin Space
Using the Abort button to stop your VI is like using a tree to stop your car. It works, but there may be consequences.