variables cannot be solely named using numerics
Unfortunately the Harlowe variable related documentation is missing some information about naming conventions, and it seems it assume that you have read the older Twine 1 documentation related to this subject. I strongly suggest you create a new issue on the Harlowe project's repository so that the developer can know about this omission and can rectify it.
i try using them in this way it seems they stop existing much sooner than this
You didn't supply an example of a case (or cases) where you found that a temporary variable was no longer available, which means that anyone answering your question needs to guess (via trial and error) what you were doing to achieve that outcome.
The following very simple example shows that a temporary variable can be set and then referenced later in the same passage.
(set: _var to "a value")
"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
test 1: var: _var
test 2: (if: _var is "a value")[the var equals a value]
edit:
Variables can have different scopes (global, local, etc..) depending on their type (story or temporary) and where/how they are initialised (within a passage, a (for:) macro, a lambda, etc...)