Please post on our support forums (http://www.llblgen.com/tinyforum) so our support team can pick it up.
As you haven't given the version you're using, nor the oracle ADO.NET provider you're using (ODP.NET or MS Oracle), I can't help you further other than giving some general information:
As ODP.NET returns a NUMBER(10, 0) as long, I think you're using MS Oracle. MS Oracle (the .NET oracle provider) returns all NUMBER types as decimal. If you don't want that, use ODP.NET
The cast issue is weird, it should work properly. But as said, please post on our forums as we don't regularly monitor stackoverflow for llblgen related issues. Thanks.