Just be aware if you do:
SET MyNumber = SELECT dbo.RandomDate(RAND())
Then every row updated will have the same random date.
If you need a random date for every row (hopefully you don't, or this is a one time run), you can use a view as I suggested earlier:
CREATE VIEW RandomNumber
SELECT RAND() AS number
Then inside of your UDF:
SELECT number FROM RandomNumber
will give you a random number. Just remember the caveats from my first post.