As you don't show the code using LWP::UserAgent, it's hard for me to guess what you're doing wrong (besides that).
My guess is that you are directly overwriting the cookie file in your unshown program. I use WWW::Mechanize (not WWW::Mechandize) with (persistent) cookies and it works well. As WWW::Mechanize just uses LWP::UserAgent, both should work well with cookies.
I doubt that the cookies file that wget writes is supposed to work with LWP::UserAgent resp. HTTP::Cookies, but maybe they use the same format. I haven't seen this documented anywhere.